如何将 true/false 字符串列表更改为可在函数中使用的 True/false 书籍列表 - python
How to change a list of true/false strings to a list of True/false bools that can be used in a function - 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))
我从一个文件中收集了真假项列表,并将它们转换为字符串列表:
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))