1. 程式人生 > >Python 元組(Tuples)與列表(List)

Python 元組(Tuples)與列表(List)

       Python中Tuples和List都是Sequence資料型別的一種,不同的Tuples的值不能修改,但是我們可以通過拼湊來得到新的元組。 

        Tuples有個特別的就是在初始化含有0個或者1個元素的元組時,初始化0個元素的元組使用一對空括號(Tup=())。初始化含有一個元素的元組時按照邏輯應該是這樣的Tup=(“Hello”),但是其實不是這樣的這樣得到的Tup其實是一個字串並不是一個元組。正確的方法應該是 Tup=(”Hello“,)。這可能是因為括號可能會被當做括號運算所以需要加一個逗號來分別。如下面的例子:

Tup1=()
print Tup1
()
Tup2=("Hello")
print Tup2
Hello   #從輸出結果也可以看出它是一個字串而不是元組因為沒有用雙括號

Tup3=("Hello",)
print Tup1 in Tup3
False   #空元組並不包含於所有的非空元組

print Tup2 in Tup3
True    #字串存在於元組

print Tup3 in Tup1
False   

print Tup1 in Tup2 
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: 'in <string>' requires string as left operand, not tuple  # 進一步印證Tup2不是元組

print Tup3 in Tup1
False

print Tup3 in Tup2
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: 'in <string>' requires string as left operand, not tuple

 官方文件:A special problem is the construction of tuples containing 0 or 1 items: the syntax has some extra quirks to accommodate these. Empty tuples are constructed by an empty pair of parentheses; a tuple with one item is constructed by following a value with a comma (it is not sufficient to enclose a single value in parentheses). Ugly

, but effective.