【问题标题】:How to properly convert list of one element to a tuple with one element如何正确地将一个元素的列表转换为一个元素的元组
【发布时间】:2013-01-30 15:07:00
【问题描述】:
>>> list=['Hello']
>>> tuple(list)
('Hello',)

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

【问题讨论】:

    标签: python python-2.6


    【解决方案1】:

    你说得对。如果你这样做,在 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 :)
    

    【讨论】:

    • 谢谢!今天学到了新东西。从不欣赏元组中逗号与括号的微妙之处。
    猜你喜欢
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多