如何将真/假字符串列表更改为可在函数中使用的真/假布尔值列表 - python



>我从一个文件中收集了一个真或假项目的列表,并将它们转换为字符串列表:

status = ['True', 'True', 'True', 'True', 'True', 'True', 'True', 'True', 'False']

但是我需要将这些输入到一个只接受每个布尔值的函数中,但由于字符串中实际上有一个值,这使得所有这些字符串都是真的。

简而言之,这是我需要转换为的内容:

status = [True, True, True, True, True, True, True, True, False]

所以我尝试了几种不同的循环结构:

for v in status:
if v == "True":
v = True
if v == "False":
v = False

但是,这仍然会返回列表中的字符串,或者我已经删除了列表值。 感谢大家的任何帮助。

循环实际上不会将值存储回列表。您需要存储它们:

booleans = []
for v in status:
if v == "True":
booleans.append(True)
else:
booleans.append(False)
status = booleans

或者在一行中:

status = [item == "True" for item in status]

一行:

status = list(map(lambda x: x=='True', status))

相关内容

  • 没有找到相关文章

最新更新