pythontuple空
Ⅰ 學習python元組,有哪些必須要掌握的內容
學習Python元組,有哪些必須要掌握的內容?
1.Python元組
定義
元組是Python的一種內建數據結構。關於元組:
1、元組屬於序列,可以存放任意元素(任意類型對象),且有序(前後位置關系)。
2、元組支持整數索引訪問其中的數據,也支持切片。
3、元組和列表不同是,元組不可變,列表可變。
元組不可變,某些操作比列表高效。
創建元組
可以用以下兩種方法創建元組:
1、使用()創建
2、使用構造函數tuple()
圖:序列通用操作
Python內置了多種序列結構:字元串、列表、元組、Unicode字元串、buffer對象、range對象。序列是Python中一種重要的數據結構,必須要掌握,也很容易掌握。
Ⅱ tuple在python中什麼意思
元組(tuple)是關系資料庫中的基本概念,關系是一張表,表中的每行(即資料庫中的每條記錄)就是一個元組,每列就是一個屬性。 在二維表裡,元組也稱為行。
笛卡爾積中每一個元素(d1,d2,…,dn),叫作一個n元組(n-tuple)或簡稱元組。當關系是一張表,二維表中的行表中的每行(即資料庫中的每條記錄)就是一個元組,每列就是一個屬性。在二維表裡,元組也稱為記錄。
簡介:
Python由荷蘭數學和計算機科學研究學會的Guido van Rossum於1990 年代初設計,作為一門叫做ABC語言的替代品。Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。
Python語法和動態類型,以及解釋型語言的本質,使它成為多數平台上寫腳本和快速開發應用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用於獨立的、大型項目的開發。
Ⅲ Python 中什麼情況下要用到 tuple
Tuple 是不可變 list。 一旦創建了一個 tuple 就不能以任何方式改變它。
Tuple 與 list 的相同之處
定義 tuple 與定義 list 的方式相同, 除了整個元素集是用小括弧包圍的而不是方括弧。
Tuple 的元素與 list 一樣按定義的次序進行排序。 Tuples 的索引與 list 一樣從 0 開始, 所以一個非空 tuple 的第一個元素總是 t[0]。
負數索引與 list 一樣從 tuple 的尾部開始計數。
與 list 一樣分片 (slice) 也可以使用。注意當分割一個 list 時, 會得到一個新的 list ;當分割一個 tuple 時, 會得到一個新的 tuple。
Tuple 不存在的方法
您不能向 tuple 增加元素。Tuple 沒有 append 或 extend 方法。
您不能從 tuple 刪除元素。Tuple 沒有 remove 或 pop 方法。
您不能在 tuple 中查找元素。Tuple 沒有 index 方法。
然而, 您可以使用 in 來查看一個元素是否存在於 tuple 中。
用 Tuple 的好處
Tuple 比 list 操作速度快。如果您定義了一個值的常量集,並且唯一要用它做的是不斷地遍歷它,請使用 tuple 代替 list。
如果對不需要修改的數據進行 「防寫」,可以使代碼更安全。使用 tuple 而不是 list 如同擁有一個隱含的 assert 語句,說明這一數據是常量。如果必須要改變這些值,則需要執行 tuple 到 list 的轉換。
Tuple 與 list 的轉換
Tuple 可以轉換成 list,反之亦然。內置的 tuple 函數接收一個 list,並返回一個有著相同元素的 tuple。而 list 函數接收一個 tuple 返回一個 list。從效果上看,tuple 凍結一個 list,而 list 解凍一個 tuple。
Tuple 的其他應用
一次賦多值
>>> v = ('a', 'b', 'e')
>>> (x, y, z) = v
解釋:v 是一個三元素的 tuple, 並且 (x, y, z) 是一個三變數的 tuple。將一個 tuple 賦值給另一個 tuple, 會按順序將 v 的每個值賦值給每個變數。
Ⅳ python中的tuple怎麼定義
tuple是元組,定義元組:oTuple = ('a','b')
如果元組中只有一個元素,也需要加一個逗號
Ⅳ Python中,tuple的優勢是什麼
一、首先,看看三者最基本的區別:
List是順序的,可變的。
Dictrionary是無順序的,可變的。Dictionary是內置數據類型之一,它定義了鍵和值之間一對一的關系。每一個元素都是一個 key-value 對, 整個元素集合用大括弧括起來。
Tuple 是順序的,不可變 list。 一旦創建了一個 tuple 就不能以任何方式改變它。
定義 tuple 與定義 list 的方式相同, 除了整個元素集是用小括弧包圍的而不是方括弧
你說的對,Tuple 是不可變 list。 一旦創建了一個 tuple 就不能以任何方式改變它。
二、Tuple 與 list 的相同之處
定義 tuple 與定義 list 的方式相同, 除了整個元素集是用小括弧包圍的而不是方括弧。
Tuple 的元素與 list 一樣按定義的次序進行排序。 Tuples 的索引與 list 一樣從 0 開始, 所以一個非空 tuple 的第一個元素總是t[0]。
負數索引與 list 一樣從 tuple 的尾部開始計數。
與 list 一樣分片 (slice) 也可以使用。注意當分割一個 list 時, 會得到一個新的 list ;當分割一個 tuple 時, 會得到一個新的 tuple。
三、Tuple 不存在的方法
您不能向 tuple 增加元素。Tuple 沒有 append 或 extend 方法。
您不能從 tuple 刪除元素。Tuple 沒有 remove 或 pop 方法。
您不能在 tuple 中查找元素。Tuple 沒有 index 方法。
然而, 您可以使用 in 來查看一個元素是否存在於 tuple 中。
四、用 Tuple 的好處
Tuple 比 list 操作速度快。如果您定義了一個值的常量集,並且唯一要用它做的是不斷地遍歷它,請使用 tuple 代替 list。
如果對不需要修改的數據進行 「防寫」,可以使代碼更安全。使用 tuple 而不是 list 如同擁有一個隱含的 assert 語句,說明這一數據是常量。如果必須要改變這些值,則需要執行 tuple 到 list 的轉換。
五、Tuple 與 list 的轉換
Tuple 可以轉換成 list,反之亦然。內置的 tuple 函數接收一個 list,並返回一個有著相同元素的 tuple
而 list 函數接收一個 tuple 返回一個 list。從效果上看,tuple 凍結一個 list,而 list 解凍一個 tuple。
六、Tuple 的其他應用
一次賦多值
>>> v = ('a', 'b', 'e')
>>> (x, y, z) = v
Ⅵ python的元組和列表有什麼區別
首先我們需要了解的是,元組和列表屬於序列,都是按照特定順序儲存的一組元素,可以將證書、實數、字元串、列表、元組、字典、集合等任何類型的內容,創建和刪除的方法也是一樣的。
那二者具體有什麼區別呢?主要有以下幾點:
1、列表是動態的,屬於可變序列,元素可以增加、修改、刪除,而元組是靜態的,屬於不可變序列,無法增加、刪除、修改元素,除非整體替換。
2、列表可以使用append()、extend()、insert()、remove()和pop()等方法實現添加和修改列表元素,而元組沒有這幾個方法,因為不能向元組中添加和修改元素,同樣,也不能刪除元素,可以整體替換。
3、列表可以使用切片訪問和修改列表中的元素,元組也支持切片,但它只支持通過切片訪問元組中的元素,不支持修改。
4、元組比列表的訪問和處理速度快,所以如果只需要對其中的元素進行訪問,而不進行任何修改,建議使用元組而不使用列表。
5、因為列表可以修改,元組不可以修改,因此元組比列表具有更高的安全性。
6、列表不能作為字典的鍵,而元組可以。
7、存儲方式不同:空列表比空元組多佔用16個位元組。
Ⅶ Python中list,tuple,dict,set的區別和用法
List
字面意思就是一個集合,在Python中List中的元素用中括弧[]來表示,可以這樣定義一個List:
L = [12, 'China', 19.998]
可以看到並不要求元素的類型都是一樣的。當然也可以定義一個空的List:
L = []
Python中的List是有序的,所以要訪問List的話顯然要通過序號來訪問,就像是數組的下標一樣,一樣是下標從0開始:
>>> print L[0]
12
千萬不要越界,否則會報錯
>>> print L[3]
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>
IndexError: list index out of range
List也可以倒序訪問,通過「倒數第x個」這樣的下標來表示序號,比如-1這個下標就表示倒數第一個元素:
>>> L = [12, 'China', 19.998]
>>> print L[-1]
19.998
-4的話顯然就越界了
>>> print L[-4]
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <mole>
print L[-4]
IndexError: list index out of range
>>>
List通過內置的append()方法來添加到尾部,通過insert()方法添加到指定位置(下標從0開始):
>>> L = [12, 'China', 19.998]
>>> L.append('Jack')
>>> print L
[12, 'China', 19.998, 'Jack']
>>> L.insert(1, 3.14)
>>> print L
[12, 3.14, 'China', 19.998, 'Jack']
>>>
通過pop()刪除最後尾部元素,也可以指定一參數刪除指定位置:
>>> L.pop()
'Jack'
>>> print L
[12, 3.14, 'China', 19.998]
>>> L.pop(0)
12
>>> print L
[3.14, 'China', 19.998]
也可以通過下標進行復制替換
>>> L[1] = 'America'
>>> print L
[3.14, 'America', 19.998]
Tuple
Tuple可以看做是一種「不變」的List,訪問也是通過下標,用小括弧()表示:
>>> t = (3.14, 'China', 'Jason')
>>> print t
(3.14, 'China', 'Jason')
但是不能重新賦值替換:
>>> t[1] = 'America'
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <mole>
t[1] = 'America'
TypeError: 'tuple' object does not support item assignment
也沒有pop和insert、append方法。
可以創建空元素的tuple:
t = ()
或者單元素tuple (比如加一個逗號防止和聲明一個整形歧義):
t = (3.14,)
那麼tuple這個類型到底有什麼用處呢?要知道如果你希望一個函數返回多個返回值,其實只要返回一個tuple就可以了,因為tuple裡面的含有多個值,而且是不可變的(就像是java裡面的final)。當然,tuple也是可變的,比如:
>>> t = (3.14, 'China', 'Jason', ['A', 'B'])
>>> print t
(3.14, 'China', 'Jason', ['A', 'B'])
>>> L = t[3]
>>> L[0] = 122
>>> L[1] = 233
>>> print t
(3.14, 'China', 'Jason', [122, 233])
這是因為Tuple所謂的不可變指的是指向的位置不可變,因為本例子中第四個元素並不是基本類型,而是一個List類型,所以t指向的該List的位置是不變的,但是List本身的內容是可以變化的,因為List本身在內存中的分配並不是連續的。
Dict
Dict是Python中非常重要的數據類型,就像它的字面意思一樣,它是個活字典,其實就是Key-Value鍵值對,類似於HashMap,可以用花括弧{}通過類似於定義一個C語言的結構體那樣去定義它:
>>> d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59,
'Paul': 75
}
>>> print d
{'Lisa': 85, 'Paul': 75, 'Adam': 95, 'Bart': 59}
可以看到列印出來的結果都是Key:Value的格式,可以通過len函數計算它的長度(List,tuple也可以):
>>> len(d)
4
可以直接通過鍵值對方式添加dict中的元素:
>>> print d
{'Lisa': 85, 'Paul': 75, 'Adam': 95, 'Bart': 59}
>>> d['Jone'] = 99
>>> print d
{'Lisa': 85, 'Paul': 75, 'Adam': 95, 'Jone': 99, 'Bart': 59}
List和Tuple用下標來訪問內容,而Dict用Key來訪問: (字元串、整型、浮點型和元組tuple都可以作為dict的key)
>>> print d['Adam']
95
如果Key不存在,會報錯:
>>> print d['Jack']
Traceback (most recent call last):
File "<pyshell#40>", line 1, in <mole>
print d['Jack']
KeyError: 'Jack'
所以訪問之前最好先查詢下key是否存在:
>>> if 'Adam' in d : print 'exist key'
exist key
或者直接用保險的get方法:
>>> print d.get('Adam')
95
>>> print d.get('Jason')
None
至於遍歷一個dict,實際上是在遍歷它的所有的Key的集合,然後用這個Key來獲得對應的Value:
>>> for key in d : print key, ':', d.get(key)
Lisa : 85
Paul : 75
Adam : 95
Bart : 59
set
set就像是把Dict中的key抽出來了一樣,類似於一個List,但是內容又不能重復,通過調用set()方法創建:
>>> s = set(['A', 'B', 'C'])
就像dict是無序的一樣,set也是無序的,也不能包含重復的元素。
對於訪問一個set的意義就僅僅在於查看某個元素是否在這個集合裡面:
>>> print 'A' in s
True
>>> print 'D' in s
False
大小寫是敏感的。
也通過for來遍歷:
s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
#tuple
for x in s:
print x[0],':',x[1]
>>>
Lisa : 85
Adam : 95
Bart : 59
通過add和remove來添加、刪除元素(保持不重復),添加元素時,用set的add()方法:
>>> s = set([1, 2, 3])
>>> s.add(4)
>>> print s
set([1, 2, 3, 4])
如果添加的元素已經存在於set中,add()不會報錯,但是不會加進去了:
>>> s = set([1, 2, 3])
>>> s.add(3)
>>> print s
set([1, 2, 3])
刪除set中的元素時,用set的remove()方法:
>>> s = set([1, 2, 3, 4])
>>> s.remove(4)
>>> print s
set([1, 2, 3])
如果刪除的元素不存在set中,remove()會報錯:
>>> s = set([1, 2, 3])
>>> s.remove(4)
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>
KeyError: 4
Ⅷ python tuple怎麼創建
tuple,在python里是元組的意思。
創建元組的兩個方法:
使用特徵符號創建:
Ⅸ Python中的Tuple問題
>>>t=([1,2,3],['a','b','c'])
>>>printt
([1,2,3],['a','b','c'])
>>>L=t[0]
>>>printL
[1,2,3]
>>>L=t[1]
>>>printL
['a','b','c']
>>>s=([1,2,3])
>>>prints
[1,2,3]
>>>LL=s[0]
>>>printLL
1
>>>LL=s[2]
>>>printLL
3
>>>
原因是tuple在只有一個元素時,需要在末尾加入「,」消除歧義
>>>ss=([1,2,3],)
>>>LL=ss[0]
>>>printLL
[1,2,3]
>>>LL=ss[1]
Traceback(mostrecentcalllast):
File"<stdin>",line1,in<mole>
IndexError:tupleindexoutofrange
>>>