元組的學習

2021-06-27 16:42:20 字數 2378 閱讀 6779

關於元組,上一講中涉及到了這個名詞。本講完整地講述它。

先看乙個例子:

>>>#變數引用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...