gpt4 book ai didi

python - 具有单个元素的元组的 literal_eval

转载 作者:太空宇宙 更新时间:2023-11-04 03:07:02 25 4
gpt4 key购买 nike

我正在使用 ast.literal_eval(str) 评估包含元组的字符串,例如 ('a', 'b', 'c')。然而,如果由于某种原因这个元组只包含一个元素,表达式将忽略括号并只返回元素:

>>> string = "('a')"
>>> x = ast.literal_eval(string)
>>> x
'a'

有没有一种简单的方法可以解决这个问题?有时,我可能有一个元组的元组,比如 (('a','b')) 并且因此不能只检查类型,这一事实加剧了这个问题。谢谢!

最佳答案

那是因为 ('a') 不是元组,而是被视为 a 的字符串。只有一个对象的元组定义为 ('a',)(注意 ,)

>>> type('a')
<type 'str'> <-- String
>>> type(('a'))
<type 'str'> <-- String
>>> type(('a',))
<type 'tuple'> <-- Tuple

关于python - 具有单个元素的元组的 literal_eval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39150590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com