欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python學(xué)習(xí)筆記之Zip和Enumerate用法實(shí)例分析

 更新時(shí)間:2019年08月14日 10:58:28   作者:Johnny丶me  
這篇文章主要介紹了Python學(xué)習(xí)筆記之Zip和Enumerate用法,結(jié)合實(shí)例形式分析了Zip和Enumerate的功能、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Python Zip和Enumerate用法。分享給大家供大家參考,具體如下:

Python 中的 Zip

zip的作用:可以在處理循環(huán)時(shí)用到,返回一個(gè)將多個(gè)可迭代對(duì)象組合成一個(gè)元組序列的迭代器。每個(gè)元組都包含所有可迭代對(duì)象中該位置的元素。

my_zip = list(zip(['a', 'b', 'c'], [1, 2, 3]))
print(my_zip) # [('a', 1), ('b', 2), ('c', 3)]

正如 range() 一樣,我們需要將其轉(zhuǎn)換為列表或使用循環(huán)進(jìn)行遍歷以查看其中的元素。

letters = ['a', 'b', 'c']
nums = [1, 2, 3]
for letter, num in zip(letters, nums):
  print("{}: {}".format(letter, num))

輸出如下:

a: 1
b: 2
c: 3

除了可以將兩個(gè)列表組合到一起之外,還可以使用星號(hào)拆封列表,返回的是單個(gè)元組

some_list = [('a', 1), ('b', 2), ('c', 3)]
letters, nums = zip(*some_list)
print(letters) # ('a', 'b', 'c')
print(nums) # (1, 2, 3)

Python 中的 Enumerate

enumerate 是一個(gè)會(huì)返回元組迭代器的內(nèi)置函數(shù),這些元組包含列表的索引和值。當(dāng)你需要在循環(huán)中獲取可迭代對(duì)象的每個(gè)元素及其索引時(shí),將經(jīng)常用到該函數(shù)。

示例代碼:

letters = ['a', 'b', 'c', 'd', 'e']
for i, letter in enumerate(letters):
  print(i, letter)

輸出如下:

0 a
1 b
2 c
3 d
4 e

Python 中的 Zip 和 Enumerate[相關(guān)練習(xí)]

使用 zip 寫(xiě)一個(gè) for 循環(huán),該循環(huán)會(huì)創(chuàng)建一個(gè)字符串,指定每個(gè)點(diǎn)的標(biāo)簽和坐標(biāo),并將其附加到列表 points。每個(gè)字符串的格式應(yīng)該為 label: x, y, z。例如,第一個(gè)坐標(biāo)的字符串應(yīng)該為 F: 23, 677, 4。

解決方案:

x_coord = [23, 53, 2, -12, 95, 103, 14, -5]
y_coord = [677, 233, 405, 433, 905, 376, 432, 445]
z_coord = [4, 16, -6, -42, 3, -6, 23, -1]
labels = ["F", "J", "A", "Q", "Y", "B", "W", "X"]
points = []
# write your for loop here
for label, x, y, z in zip(labels, x_coord, y_coord, z_coord):
  points.append(label+": " + str(x) + ', ' + str(y) + ', ' + str(z))
for point in points:
  print(point)

輸出如下:

F: 23, 677, 4
J: 53, 233, 16
A: 2, 405, -6
Q: -12, 433, -42
Y: 95, 905, 3
B: 103, 376, -6
W: 14, 432, 23
X: -5, 445, -1

使用 zip 創(chuàng)建一個(gè)字段 cast,該字典使用 names 作為鍵,并使用 heights 作為值。

解決方案:

cast_names = ["Barney", "Robin", "Ted", "Lily", "Marshall"]
cast_heights = [72, 68, 72, 66, 76]
cast = dict(zip(cast_names,cast_heights))
print(cast)

輸出:

{'Barney': 72, 'Ted': 72, 'Robin': 68, 'Lily': 66, 'Marshall': 76}

將 cast 元組拆封成兩個(gè) names 和 heights 元組。

解決方案:

cast = (("Barney", 72), ("Robin", 68), ("Ted", 72), ("Lily", 66), ("Marshall", 76))
# define names and heights here
names,heights = zip(*cast)
print(names) # ('Barney', 'Robin', 'Ted', 'Lily', 'Marshall')
print(heights) # (72, 68, 72, 66, 76)

使用 zip 將 data 從 4x3 矩陣轉(zhuǎn)置成 3x4 矩陣。

解決方案:

data = ((0, 1, 2), (3, 4, 5), (6, 7, 8), (9, 10, 11))
data_transpose = tuple(zip(*data))
print(data_transpose) # ((0, 3, 6, 9), (1, 4, 7, 10), (2, 5, 8, 11))

使用 enumerate 修改列表 cast,使每個(gè)元素都包含姓名,然后是角色的對(duì)應(yīng)身高。例如,cast 的第一個(gè)元素應(yīng)該從 “Barney Stinson” 更改為 "Barney Stinson 72”。

解決方案:

cast = ["Barney Stinson", "Robin Scherbatsky", "Ted Mosby", "Lily Aldrin", "Marshall Eriksen"]
heights = [72, 68, 72, 66, 76]
for i, c in enumerate(cast):
  cast[i] += ' ' + str(heights[i])
print(cast) # ['Barney Stinson 72', 'Robin Scherbatsky 68', 'Ted Mosby 72', 'Lily Aldrin 66', 'Marshall Eriksen 76']

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python函數(shù)使用技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Python調(diào)用C++,通過(guò)Pybind11制作Python接口

    Python調(diào)用C++,通過(guò)Pybind11制作Python接口

    今天小編就為大家分享一篇關(guān)于Python調(diào)用C++,通過(guò)Pybind11制作Python接口,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10
  • 用python與文件進(jìn)行交互的方法

    用python與文件進(jìn)行交互的方法

    本篇文章主要介紹了用python與文件進(jìn)行交互的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • python讀取大文件越來(lái)越慢的原因與解決

    python讀取大文件越來(lái)越慢的原因與解決

    這篇文章主要給大家介紹了關(guān)于python讀取大文件越來(lái)越慢的原因與解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python GUI編程完整示例

    Python GUI編程完整示例

    這篇文章主要介紹了Python GUI編程,結(jié)合完整示例形式分析了Python基于tkinter模塊的GUI圖形界面編程相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-04-04
  • python爬蟲(chóng)之爬取筆趣閣小說(shuō)升級(jí)版

    python爬蟲(chóng)之爬取筆趣閣小說(shuō)升級(jí)版

    筆趣有很多起點(diǎn)中文網(wǎng)的小說(shuō),該網(wǎng)站小說(shuō)的更新速度稍滯后于起點(diǎn)中文網(wǎng)正版小說(shuō)的更新速度。并且該網(wǎng)站只支持在線瀏覽,不支持小說(shuō)打包下載。所以可以通過(guò)python爬取文本信息保存,從而達(dá)到下載的目的
    2021-09-09
  • Pyecharts繪制可視化地球?qū)崿F(xiàn)示例

    Pyecharts繪制可視化地球?qū)崿F(xiàn)示例

    這篇文章主要為大家介紹了Pyecharts繪制可視化地球?qū)崿F(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Python關(guān)于excel和shp的使用在matplotlib

    Python關(guān)于excel和shp的使用在matplotlib

    今天小編就為大家分享一篇關(guān)于Python關(guān)于excel和shp的使用在matplotlib,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • Python操作串口的方法

    Python操作串口的方法

    這篇文章主要介紹了Python操作串口的方法,以一個(gè)簡(jiǎn)單實(shí)例分析了Python操作串口echo輸出的方法,需要的朋友可以參考下
    2015-06-06
  • 使用Python進(jìn)行Ping測(cè)試的操作指南

    使用Python進(jìn)行Ping測(cè)試的操作指南

    在網(wǎng)絡(luò)工程中,Ping測(cè)試是一種常用的網(wǎng)絡(luò)診斷工具,用于檢查網(wǎng)絡(luò)連接的可達(dá)性和響應(yīng)時(shí)間,隨著Python編程語(yǔ)言的廣泛應(yīng)用,越來(lái)越多的網(wǎng)絡(luò)工程師開(kāi)始使用Python進(jìn)行自動(dòng)化網(wǎng)絡(luò)測(cè)試和管理任務(wù),本篇文章將詳細(xì)介紹如何使用Python進(jìn)行Ping測(cè)試,需要的朋友可以參考下
    2024-06-06
  • 在Python中處理字符串之ljust()方法的使用簡(jiǎn)介

    在Python中處理字符串之ljust()方法的使用簡(jiǎn)介

    這篇文章主要介紹了在Python中處理字符串之ljust()方法的使用,是Python學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05

最新評(píng)論