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

如何将真/假字符串列表更改为可在函数中使用的真/假布尔列表-python,python,string,list,replace,boolean-logic,Python,String,List,Replace,Boolean Logic,我从一个文件中收集了一系列正确或错误的项目,并将它们转换为一系列字符串: status = ['True', 'True', 'True', 'True', 'True', 'True', 'True', 'True', 'False'] 但是我需要将它们输入到一个只接受每个字符串的布尔值的函数中,但是这使得所有这些字符串都是真的,因为实际上字符串中有一个值 简而言之,以下是我需要转换的内容: status = [True, True, True, True, True, True, True

我从一个文件中收集了一系列正确或错误的项目,并将它们转换为一系列字符串:

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))

booleans=[item=='True'表示处于状态的项]
status=列表(映射(lambda x:x=='True',状态))