數據類型有哪幾種,python 數據類型 之 tuple 元組

 2023-11-05 阅读 23 评论 0

摘要:python 3.6.5 ? 元組的特性和定義 與列表類型 只不過 [? ] 改成了() 特性: 數據類型有哪幾種?  1.不可變(元組本身不可變,但是可以存可變類型的element){猜測因為可變element的地址不可變而存在元組里面也只是地址而已:例如&#x

python 3.6.5

?

元組的特性和定義

與列表類型 只不過 [? ] 改成了()

特性:

數據類型有哪幾種?  1.不可變(元組本身不可變,但是可以存可變類型的element){猜測因為可變element的地址不可變而存在元組里面也只是地址而已:例如:list dict 等}

  2.可存放多個值

  3.按照從左到右的順序定義元組元素,下表從0,開始順序訪問。有序

  #解釋為什么要有不可變的元組出現呢?

?

創建:

lambda python、  ages=tuple()

  ages=()

  ages=1, #注意以逗號隔開,默認為元組

  ages=( 1 , )#注意,元組中只包含一個元素時,需要在元素后面添加逗號來消除歧義

  ages=(11,22,33,44)

  ages=tuple((11,22,33,44))

python內置數據類型有哪些??

tuple_list=(v for v in range(1,8))#生成器表達式
print(tuple_list,type(tuple_list))
tup=tuple(tuple_list)
print(tup,type(tup))
>>:<generator object <genexpr> at 0x0000000001EC18E0> <class 'generator'>
>>:(1, 2, 3, 4, 5, 6, 7) <class 'tuple'>

常用操作:

  索引 #正向取 和 反向取 :只能取

  循環 for in 可迭代循環

  長度 len()

  成員運算 in 和 not in?

基本數據類型。  切片:顧頭不顧尾,步長 ,反向步長

  元組運算符 + 和 *? ?但是得到的是新tuple

  統計個數:tuple.count(' 出現了幾次')#沒有返回0

  返回索引:tuple.index('要查找的element') #找不到會報錯

  

和列表 差不多 可以去看列表相關操作
或者字符串
https://www.cnblogs.com/yanxiatingyu/p/9277115.html

tup = (1, 2, ['a', 'b', 'c'], 'd', 'e', ('gu', 'tang'))

python sorted?print ("tup[0] =",tup[0]) # 打印索引為0的元素
#輸出結果
tup[0] = 1

print ("tup[1:] =",tup[1:]) #從索引為1到最后一個元素
#輸出結果
tup[1:] = (2, ['a', 'b', 'c'], 'd', 'e', ('gu', 'tang'))

print ("tup[:-1] =",tup[:-1]) # 到倒第二個元素但不包含第二個
#輸出結果
tup[:-1] = (1, 2, ['a', 'b', 'c'], 'd', 'e')

print ("tup[1::1] =",tup[1::1]) # 等價于tup[1:] 從左到右一個個去取,步長為1
#輸出結果
tup[1::1] = (2, ['a', 'b', 'c'], 'd', 'e', ('gu', 'tang'))

print ("tup[1::2] =",tup[1::2]) #從左到右隔一個去取 步長為2
#輸出結果
tup[1::2] = (2, 'd', ('gu', 'tang'))

print ("tup[::-1]",tup[::-1]) # 反向輸出 步長為1
#輸出結果
tup[::-1] (('gu', 'tang'), 'e', 'd', ['a', 'b', 'c'], 2, 1)

python append。print ("tup[::-2]",tup[::-2]) # 反向輸出 步長為2(隔一個去取))
#輸出結果
tup[::-2] (('gu', 'tang'), 'd', 2)


八、元組內置函數
Python元組包含了以下內置函數
1、cmp(tuple1, tuple2):比較兩個元組元素。
2、len(tuple):計算元組元素個數。
3、max(tuple):返回元組中元素最大值。
4、min(tuple):返回元組中元素最小值。
5、tuple(seq):將列表轉換為元組


關于元組不可變
lis = [1, 2, 3]
tup = (1, 2, 3, 4, lis)
print(tup)
# (1, 2, 3, 4, [1, 2, 3])
tup[4][1] = '元素改變了'
print(tup)
# (1, 2, 3, 4, [1, '元素改變了', 3])

表面上看,tuple的元素確實變了,但其實變的不是tuple的元素,而是list的元素。tuple一開始指向的list并沒有改成別的list,所以,tuple所謂的“不變”是說,tuple的每個元素,
指向永遠不變。即指向'a',就不能改成指向'b',指向一個list,就不能改成指向其他對象,但指向的這個list本身是可變的!
理解了“指向不變”后,要創建一個內容也不變的tuple怎么做?那就必須保證tuple的每一個元素本身也不能變。

轉載于:https://www.cnblogs.com/yanxiatingyu/p/9278175.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/166520.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息