日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python基础|理解元组存在的意义

發布時間:2024/3/7 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python基础|理解元组存在的意义 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python中有一個基礎的數據結構,叫做元組(tuple),但是一般挺少有人會到到它的,因為基本上在開發過程中,列表(list)已經能夠滿足我們的基本需求了。

即使是這樣,你也千萬不要就此認為元組是多余的。不然在面試被人問,元組和列表有啥區別?為什么需要元組?你就懵了。

在這里,小明總結了以下兩點,第一點是大家所熟知的,而第二點可能只有老司機才會知道,而只有學習了第二點,才算真正理解了元組存在的價值和意義。

01不可變列表

這是元組區別于列表最顯著的特征。

list:可變的序列

tuple:不可變的序列

那什么是不可變的序列呢?

那就是在元組對象生成后,諸如列表的插入元素、刪除元素、添加元素、清空元素、修改元素等方法,在元組中通通沒有,你無法對其進行修改、刪除,你只能獲取。

由于元組是不可變的,所以其方法也是很有限的。這里羅列一下。

# s1和s2都是元組 s1=(1,2,3) s2=(4,5,6)# 拼接生成新元組 s1+s2 s1.__add__(s2)# 是否包含 2 in s1 s1.__contains__(2)# 統計元素包含的次數 s1.count(2)# 獲取元素 s1[0] s1.__getitem__(0)# 找到2第一次出現的索引 s1.index(2)# 獲取長度 len(s1)# 重復拼接 s1*n

02具名元組

這個特性,我個人認為,才是元組存在的意義所在。

只講 具名元組,可能不太好理解。如果稱之為 帶字段名的記錄,你可能就清楚了。

這里舉個例子,但是實現帶字段名,需要一個庫(collections)的支持,你需要導入它。namedtuple是一個工廠函數。

from collections import namedtuple # 生成一個City類 City = namedtuple("City", "name country polulation coordinates") # 實例化 tokyo = City("Tokyo", 'JP', '36.93', ('35.68','139,69'))print(tokyo) # City(name='Tokyo', country='JP', polulation='36.93', coordinates=('35.68', '139,69'))print(tokyo.name) # Tokyo

看著有點像字典,是不是,可惜他不是字典(獲取數值的方法也與字典不同),字典是可變。元組在創建后,就無法再對其進行修改。這在也說明元組適合存放那些無需修改的數據。比如上面的,地名,國家,經緯度。

除了上面的用法之處,這里還要介紹一些元組自己專有的屬性。

# 打印字段名 print(City._fields) ('name', 'country', 'polulation', 'coordinates')# 生成新實例 LatLong = namedtuple('LatLong', 'lat long') Xiamen_tuple = ('Xiemen', 'China', '40,54', LatLong(24.26,118.03)) Xiamen = City._make(Xiamen_tuple)print(Xiamen) # City(name='Xiemen', country='China', polulation='40,54', coordinates=(24.26, 118.03))# 將具名元組轉為OrderDict Xiamen_dict = Xiamen._asdict() print(Xiamen_dict) # OrderedDict([('name', 'Xiemen'), ('country', 'China'), ('polulation', '40,54'), ('coordinates', LatLong(lat=24.26, long=118.03))])

總結一下,元組是一種很強大的可以當作記錄來用的數據類型,這才是他存在的價值和意義所在。而為人所熟知的,它的第二個角色才是充當一個不可變的列表。

如果你想學習自動化測試、性能測試、測試開發,但是自己又非常的迷茫,沒有思路又怕耽誤時間,那么你可以找我。我非常愿意將自己從業10年的經驗傳授給你,也愿意將自己獨家的核心教程免費贈送。

公眾號【程序員阿沐】找到我!我一直在等著你!

總結

以上是生活随笔為你收集整理的Python基础|理解元组存在的意义的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。