Python 解鎖 - zip() 使用範例

更新 發佈閱讀 1 分鐘

zip()是 Python 的一個內建函數,用於將多個可迭代物件中的元素配對成元素組,本篇我們會來討論zip() 的主要用法。

合併兩個lists,將元素配對成tuples
names = ['DigNo', 'Ape', 'Nomad'] 
ages = [25, 30, 35]
paired = list(zip(names, ages))
print(paired)
raw-image


解壓縮
paired = [['DigNo', 25], ['Ape', 30], ['Nomad', 35]]
names, ages = zip(*paired)
print(names)
print(ages)
raw-image


創建字典
paired = [['DigNo', 25], ['Ape', 30], ['Nomad', 35]] 
names, ages = zip(*paired) print(names)
print(ages)
raw-image


迭代多個可迭代(iterable)物件
//List
names = ['DigNo', 'Ape', 'Nomad']
ages = [25, 30, 35]
cities = ['New York', 'Los Angeles', 'Chicago']
for name, age, city in zip(names, ages, cities):
print(f"{name} is {age} years old and lives in {city}.")
raw-image


//Tuple
names = ('DigNo', 'Ape', 'Nomad')
ages = (25, 30, 35)
cities = ('New York', 'Los Angeles', 'Chicago')
for name, age, city in zip(names, ages, cities):
print(f"{name} is {age} years old and lives in {city}.")
raw-image


//Set (集合是無序的,結果順序不一定可預測。)
names = {'DigNo', 'Ape', 'Nomad'}
ages = {25, 30, 35}
cities = {'New York', 'Los Angeles', 'Chicago'}
for name, age, city in zip(names, ages, cities):
print(f"{name} is {age} years old and lives in {city}.")
raw-image


//String (不等長)
str1 = "dig"
str2 = "no"
str3 = "ape"
for char1, char2, char3 in zip(str1, str2, str3):
print(char1, char2, char3)
raw-image


//Range (不等長)
range1 = range(4)
range2 = range(10, 15)
for a, b in zip(range1, range2):
print(a, b)
raw-image



配對元素計算
a = [1, 2, 3] 
b = [4, 5, 6]
sums = [x + y for x, y in zip(a, b)]
print(sums)
raw-image


比較列表的元素
a = [1, 2, 3]
b = [1, 2, 4]
comparison = [x == y for x, y in zip(a, b)]
print(comparison)
raw-image


過濾列表的元素
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
filtered = [(x, y) for x, y in zip(a, b) if x + y > 10]
print(filtered)
raw-image



多個列表串聯
first_names = ['DigNo', 'Nomad']
last_names = ['Ape', 'Ape']
full_names = [f"{first} {last}" for first, last in zip(first_names, last_names)]
print(full_names)
raw-image


條件合併
a = [1, 2, 3]
b = [4, 5, 6]
combined = [x if x % 2 == 0 else y for x, y in zip(a, b)]
print(combined)
raw-image



謝謝您花時間將此篇文章讀完,若覺得對您有幫助可以幫忙按個讚、分享來或是珍藏喔!也歡迎Follow我的Threads,持續追蹤生產力工具、商業分析、商業英文,提升自己的職場力喔!

留言
avatar-img
留言分享你的想法!
avatar-img
DigNo Ape 數遊原人
56會員
138內容數
我們秉持著從原人進化的精神,不斷追求智慧的累積和工具的運用來提升生產力。我們相信,每一個成員都擁有無限的潛力,透過學習和實踐,不斷成長和進步。
DigNo Ape 數遊原人的其他內容
2025/01/07
大小寫轉換 空白處理 搜尋和替換字串 分割和連接 判斷字串特性 對齊
Thumbnail
2025/01/07
大小寫轉換 空白處理 搜尋和替換字串 分割和連接 判斷字串特性 對齊
Thumbnail
2024/09/12
List、Tuple、Set、Dictionary 是什麼? 差異在哪?
2024/09/12
List、Tuple、Set、Dictionary 是什麼? 差異在哪?
2024/08/26
下表中包含了20筆訂單的營業額數據。現在需要篩選出營業額大於 $1,000,000 的訂單,並根據金額從高到低進行排序。請使用下列軟體工具分別找出答案
2024/08/26
下表中包含了20筆訂單的營業額數據。現在需要篩選出營業額大於 $1,000,000 的訂單,並根據金額從高到低進行排序。請使用下列軟體工具分別找出答案
看更多
你可能也想看
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
最近正好在研究「silero-vad」這套工具, 但根據官方教學,預設的載入方式會從網路上進行下載模型的動作: model, utils = torch.hub.load(repo_or_dir='snakers4/silero-vad',
Thumbnail
最近正好在研究「silero-vad」這套工具, 但根據官方教學,預設的載入方式會從網路上進行下載模型的動作: model, utils = torch.hub.load(repo_or_dir='snakers4/silero-vad',
Thumbnail
我們在「【💎Python 軍火庫 - devpi】pip install…等太久了嗎🤔? 您需要來點緩存機制」有介紹過pypi套件緩存的架設方式, 那架設好了之後, 我們在下載的部份會有一層快取及代理的前哨站, 但假如我們的套件不在pypi平台時怎麼辦呢? 就像torch的套件就必須仰賴外部的來
Thumbnail
我們在「【💎Python 軍火庫 - devpi】pip install…等太久了嗎🤔? 您需要來點緩存機制」有介紹過pypi套件緩存的架設方式, 那架設好了之後, 我們在下載的部份會有一層快取及代理的前哨站, 但假如我們的套件不在pypi平台時怎麼辦呢? 就像torch的套件就必須仰賴外部的來
Thumbnail
相信玩過Python一陣子的朋友應該曾經都遇到過套件版本衝突的問題吧…, 這實在是很惱人, 但如果我們能夠快速的檢驗我們所安裝的套件是否如我們所預期的版本, 該有多好, 如此一來能夠讓自己更加安心一些, 那麼今天將提供兩種方法讓我們來檢查一番。 列出所有套件及版本 簡單且暴力。 pip lis
Thumbnail
相信玩過Python一陣子的朋友應該曾經都遇到過套件版本衝突的問題吧…, 這實在是很惱人, 但如果我們能夠快速的檢驗我們所安裝的套件是否如我們所預期的版本, 該有多好, 如此一來能夠讓自己更加安心一些, 那麼今天將提供兩種方法讓我們來檢查一番。 列出所有套件及版本 簡單且暴力。 pip lis
Thumbnail
我們在「【Python 軍火庫🧨 - tqdm】讓我們為工作加上進度條吧」介紹了tqdm進度條的基本用法, 基本上的使用案例都沒什麼問題, 通常也都是以「數量」為單位進行進度的回報, 但假設我們今天處理的任務是關於音訊的部份呢? 這時候更新的單位就需要從「數量」轉為「時間」了, 那tqdm有提供這
Thumbnail
我們在「【Python 軍火庫🧨 - tqdm】讓我們為工作加上進度條吧」介紹了tqdm進度條的基本用法, 基本上的使用案例都沒什麼問題, 通常也都是以「數量」為單位進行進度的回報, 但假設我們今天處理的任務是關於音訊的部份呢? 這時候更新的單位就需要從「數量」轉為「時間」了, 那tqdm有提供這
Thumbnail
您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 我們是不是常常看到一些很厲害的專案, 只要「pip i
Thumbnail
您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 我們是不是常常看到一些很厲害的專案, 只要「pip i
Thumbnail
您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 有時候我們在處理字幕檔或者是音訊時, 常常會計算時間這
Thumbnail
您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 有時候我們在處理字幕檔或者是音訊時, 常常會計算時間這
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News