fas*_*der 3 python replace boolean
如何"True"用布尔值True或替换1?
mylist = ["Saturday", "True"]
Run Code Online (Sandbox Code Playgroud)
我试过更换,但得到错误:
TypeError: replace() argument 2 must be str, not bool
Run Code Online (Sandbox Code Playgroud)
提前致谢!
使用列表理解:
result = [ True if x == "True" else x for x in mylist ]
Run Code Online (Sandbox Code Playgroud)
编辑应有的 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']
Run Code Online (Sandbox Code Playgroud)
提示是使用 具有默认值的python 字典get方法:
如果键在字典中,则返回键的值,否则返回默认值。如果未给出默认值,则默认为 None,因此此方法永远不会引发 KeyError。