如何使用布尔"True"
或True
替换1
?
mylist = ["Saturday", "True"]
我尝试过替换,但收到错误:
TypeError: replace() argument 2 must be str, not bool
提前致谢!
答案 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。