Python:将字符串列表转换为布尔值,其中布尔值以字符串形式存在

时间:2018-05-26 12:23:16

标签: python replace boolean

如何使用布尔"True"True替换1

mylist = ["Saturday", "True"]

我尝试过替换,但收到错误:

TypeError: replace() argument 2 must be str, not bool

提前致谢!

1 个答案:

答案 0 :(得分:4)

使用列表理解:

result = [ True if x == "True" else x for x in mylist  ]

编辑过期OP评论

您可以使用字典转换某些值:

>>> changes = { "True": True,
...             "False": False,
...             "Lemon": "Gin Lemon"
...           }
>>> 
>>> mylist = ["Saturday", "True", "False", "Lemon", "Others" ]
>>> 
>>> [ changes.get( x, x ) for x in mylist ]

['Saturday', True, False, 'Gin Lemon', 'Others']

提示是使用python dictionary get method并使用默认值:

  

如果key在字典中,则返回key的值,否则返回default。如果未给出default,则默认为None,因此此方法永远不会引发KeyError。