關於元組,上一講中涉及到了這個名詞。本講完整地講述它。
先看乙個例子:
>>>#變數引用str
>>> s = "abc"
>>> s
'abc'
>>>#如果這樣寫,就會是...
>>> t = 123,'abc',["come","here"]
>>> t
(123, 'abc', ['come', 'here'])
上面例子中看到的變數t,並沒有報錯,也沒有「最後乙個有效」,而是將物件做為乙個新的資料型別:tuple(元組),賦值給了變數t。
元組是用圓括號括起來的,其中的元素之間用逗號隔開。(都是英文半形)
tuple是一種序列型別的資料,這點上跟list/str類似。它的特點就是其中的元素不能更改,這點上跟list不同,倒是跟str類似;它的元素又可以是任何型別的資料,這點上跟list相同,但不同於str。
>>> t = 1,"23",[123,"abc"],("python","learn") #元素多樣性,近list
>>> t
(1, '23', [123, 'abc'], ('python', 'learn'))
>>> t[0] = 8 #不能原地修改,近str
traceback (most recent call last):
file "", line 1, in typeerror: 'tuple' object does not support item assignment
traceback (most recent call last):
>>>
從上面的簡單比較似乎可以認為,tuple就是乙個融合了部分list和部分str屬性的雜交產物。此言有理。
先複習list中的一點知識:
>>> one_list = ["python","qiwsir","github","io"]
>>> one_list[2]
'github'
>>> one_list[1:]
['qiwsir', 'github', 'io']
>>> for word in one_list:
... print word
...
python
qiwsir
github
io>>> len(one_list)
4
下面再實驗一下,上面的list如果換成tuple是否可行
>>> t
(1, '23', [123, 'abc'], ('python', 'learn'))
>>> t[2]
[123, 'abc']
>>> t[1:]
('23', [123, 'abc'], ('python', 'learn'))
>>> for every in t:
... print every
... 123
[123, 'abc']
('python', 'learn')
>>> len(t)
4>>> t[2][0] #還能這樣呀,哦對了,list中也能這樣
123>>> t[3][1]
'learn'
所有在list中可以修改list的方法,在tuple中,都失效。
分別用list()和tuple()能夠實現兩者的轉化:
>>> t
(1, '23', [123, 'abc'], ('python', 'learn'))
>>> tls = list(t) #tuple-->list
>>> tls
[1, '23', [123, 'abc'], ('python', 'learn')]
>>> t_tuple = tuple(tls) #list-->tuple
>>> t_tuple
(1, '23', [123, 'abc'], ('python', 'learn'))
既然它是list和str的雜合,它有什麼用途呢?不是用list和str都可以了嗎?
在很多時候,的確是用list和str都可以了。但是,看官不要忘記,我們用計算機語言解決的問題不都是簡單問題,就如同我們的自然語言一樣,雖然有的詞彙看似可有可無,用別的也能替換之,但是我們依然需要在某些情況下使用它們.
一般認為,tuple有這類特點,並且也是它使用的情景:
學習筆記 元組
元組 tuple 元組是不可改變的序列,同list一樣,元組可以存放任意型別的元素 表示方法 用小括號 括起來,單個元素括起來後加逗號 區分單個物件還是元組 建立空元組的字面值 t 建立非空元組的字面值 t 200,t 20,t 1,2,3 t 100,200,300 type x 函式用來返回 x...
Python 元組學習
一 元組的表示與建立 eg1 tuple1 1 2 tuple1 1 2 eg2 tuple1 1,2 tuple1 1 2 eg3 當元組中只有乙個元素時,逗號不可省 tuple1 1,tuple1 1 tuple1 1 tuple1 1 ps 如果只加括號,相當於沒加 tuple1 1 tupl...
python學習 元組
元組 一系列不可修改的元素 python將不能修改的值稱為不可變的 而不可變的列表被稱為元組 元組看起來猶如列表,但使用圓括號而不是方括號來標識。定義元組後,就可以使用索引來訪問其元素,就像訪問列表元素一樣。dimensions 200,50 print dimensions 0 print dim...