python内置序列类型_Python序列内置类型之元组类型详解
Python序列內置類型之元組類型詳解
1.元祖的概念
Python中的元組與列表類似,都是一個序列,不同的是元組的元素不能修改而已。
2.元組的創(chuàng)建
元組使用小括號,列表使用方括號。
tup = ('cdx', 'red', 'molly')
注意:元組中只包含一個元素時,需要在元素后面添加逗號,否則括號會被當作運算符使用。
tup1 = (50)
print(type(tup1)) # 不加逗號,類型為整型
>>>
tup1 = (50,)
print(type(tup1)) # 加上逗號,類型為元組
>>>
3.Python元組操作
1.索引與截取(訪問元組)
#索引
tup = (1, 2, 3, 4, 5, 6, 7)print(tup[2])>>> 3
#截取
tup = (1, 2, 3, 4, 5, 6, 7 )
print(tup[1:])
>>>2,3,4,5,6,7
2.增刪(元組中的元素值是不允許修改的,只能創(chuàng)建一個新元組然后存儲值。我們可以對元組進行連接組合,由于元組中的元素值是不允許刪除的,我們只能使用del語句來刪除整個元組)
tup1 = (12, 34.56);
tup2= ('abc', 'xyz')#修改元組元素操作是非法的。因為元組不能改變
tup1[0] = 100#報錯
#創(chuàng)建一個新的元組
tup3 = tup1 +tup2;print(tup3)>>>(12, 34.56, 'abc', 'xyz')
#刪除一個元組
tup = ('cdx','redmolly')
del tup
print (tup)
#會報錯
Traceback (most recent call last):
File "test.py", line 8, in
3.元組的運算(與字符串一樣,元組之間可以使用 + 號和 * 號進行運算。這就意味著他們可以組合和復制,運算后會生成一個新的元組。)
Python 表達式
結果
描述
len((1, 2, 3))
3
計算元素個數
(1, 2, 3) + (4, 5, 6)
(1, 2, 3, 4, 5, 6)
連接
('Hi!',) * 4
('Hi!', 'Hi!', 'Hi!', 'Hi!')
復制
3 in (1, 2, 3)
True
元素是否存在
for x in (1, 2, 3): print (x,)
1 2 3
迭代
4.元組的內置函數
序號
方法及描述
實例
1
len(tuple)
計算元組元素個數。
>>> tuple1 = ('Google', 'Runoob', 'Taobao')
>>> len(tuple1)
3
>>>
2
max(tuple)
返回元組中元素最大值。
>>> tuple2 = ('5', '4', '8')
>>> max(tuple2)
'8'
>>>
3
min(tuple)
返回元組中元素最小值。
>>> tuple2 = ('5', '4', '8')
>>> min(tuple2)
'4'
>>>
4
tuple(seq)
將列表轉換為元組。
>>> list1= ['Google', 'Taobao', 'Runoob', 'Baidu']
>>> tuple1=tuple(list1)
>>> tuple1
('Google', 'Taobao', 'Runoob', 'Baidu')
5.元組的一些高級補充
1.tuple元素不可變有一種特殊情況,當元素是可變對象時。對象內部屬性是可以修改的。tuple的不可變限制只是在一個緯度上:元素的類型。實現理解,tuple的元素所保存的內容(數值或內存地址)是不允許修改的,但地址映射的對象自身是可以修改的。舉個例子你就懂了。
a = (1,[3,2])
a[1][0] = 1
print(a)>>>(1, [1, 2])
a[1].append(3)print(a)>>>(1, [1, 2, 3])
2.namedtuple(具名元組)
1.具名元組:因為元組的局限性:不能為元組內部的數據進行命名,所以往往我們并不知道一個元組所要表達的意義,所以引入了?collections.namedtuple這個工廠函數,來構造一個帶字段名的元組。所謂工廠函數就是一個加工方法,把數據放進去,加工好了拿出來就是成品。比如(tuple = (12,"cdx","大三")),創(chuàng)建這樣一個元組,里面的數據沒有名字的話,不知道是干啥的。
2.使用格式:collections.namedtuple(typename, field_names, verbose=False, rename=False)
importcollections#User = collections.namedtuple('User', ['name', 'age', 'id'])
user = User('tester', '22', '464643123')print(user)>>>User(name='tester', age='22', id='464643123')
PS(想為元組增加一些值,可以用一些其他辦法,大家自己想想哦)
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的python内置序列类型_Python序列内置类型之元组类型详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 定义快捷代码_Qt Creator快捷键
- 下一篇: time库python_Python的t