Python3.2官方文檔教程---元組與序列

來源:互聯網
上載者:User

我們看到列表和字串有許多相同的屬性,例如索引和切片操作符。以下是兩個關於序列資料類型的例子。由於python是一種不斷演變的語言,其他的序列資料類型可以被添加。現在已經有一種標準的序列資料類型:元組

一個元組是由一些被逗號分隔的熟知組成的。例如:

>>> t = 12345, 54321, ’hello!’

>>> t[0]

12345

>>> t

(12345, 54321, ’hello!’)

>>> # 元組也可以嵌套

... u = t, (1, 2, 3, 4, 5)

>>> u

((12345, 54321, ’hello!’), (1, 2, 3, 4, 5))

>>> # 元組是不可變的

... t[0] = 88888

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: ’tuple’ object does not support item assignment 元組不支援元素賦值,

>>> # but they can contain mutable objects: 但是可包含可變的對象。

... v = ([1, 2, 3], [3, 2, 1])

>>> v

([1, 2, 3], [3, 2, 1])

正如你看到的,當輸出時元組常常被括弧括起來,因此嵌套元組可以被正確解釋。儘管常在輸入時候用括弧把它們包圍,但是包或不包含都可以輸入。 不可以對元組中的單個對象賦值,但是建立包含可變的對象的元組,比如列表。

儘管元組與列表有點相似,但是常常在不同情況和因不同的目的而使用。元組是不可變的,常常包含一個可以通過取出和索引訪問元素的異構序列。列表是可變的,並且這些元素都是平等的,只能通過遍曆逐次訪問。 

一個特殊的問題就是僅包含一個或空的元組的構建。為了符合這些規則,這文法有點特別之處。每個空元組可以被一對空括弧所建立。含一個值的元組可以用一個值加上”,”進行建立。 (用括弧包圍單個值沒有意義)。儘管看起來很醜陋,但是很有效。例如:

>>> empty = ()

>>> singleton = ’hello’, # <-- note trailing comma

>>> len(empty)

0

>>> len(singleton)

1

>>> singleton

(’hello’,)

語句 t = 12345, 54321, ’hello!’ 是一個包含不同值的元組例子:值是 12345, 54321

and ’hello!’都放在同一個元組中。 

翻轉元組的操作可以如下:

>>> x, y, z = t

序列拆封要求左側的變數數目與序列的元素個數相同。要注意的是可變參數其實只是元組封裝和序列拆封的一個結合!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.