python - 如何正确地将一个元素的列表转换为一个元素的元组

标签 python python-2.6

>>> list=['Hello']
>>> tuple(list)
('Hello',)

为什么上述语句的结果是 ('Hello',) 而不是 ('Hello')?。我原以为会是晚些时候。

最佳答案

你说得对。在 python 中,如果你这样做:

a = ("hello")

a 将是一个字符串,因为此上下文中的括号用于将事物组合在一起。实际上是逗号构成了一个元组,而不是括号(括号只是为了避免在某些情况下如函数调用时产生歧义)...

a = "Hello","goodbye"  #Look Ma!  No Parenthesis!
print (type(a)) #<type 'tuple'>
a = ("Hello")
print (type(a)) #<type 'str'>
a = ("Hello",)
print (type(a)) #<type 'tuple'>
a = "Hello",
print (type(a)) #<type 'tuple'>

最后(也是最直接的问题):

>>> a = ['Hello']
>>> b = tuple(a)
>>> print (type(b))  #<type 'tuple'> -- It thinks it is a tuple
>>> print (b[0])  #'Hello' -- It acts like a tuple too -- Must be :)

关于python - 如何正确地将一个元素的列表转换为一个元素的元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14607128/

相关文章:

python - python 中 OrderedDict() 中的 iteritems() 有什么问题?

python - 字符串格式占位符可最大程度地兼容 python 2.6、2.7 和 3.x

python - 如何填充空心线opencv

Python 将函数列表应用于包含 None 值的项目列表

python - gensim Doc2Vec vs tensorflow Doc2Vec

python - 如何避免 "too many values to unpack"

python - 检查数字 (mod 2) 是否有余数 0 的函数不起作用

python - 在 Python 2.6 中发送 TLS 1.2 请求

Python 无法打开 msvcr90.dll

python - 查找斜率变化点作为自由参数 - Python