最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中字符串,列表,元組,集合及字典常見的遍歷方式匯總

 更新時(shí)間:2026年01月19日 09:31:20   作者:Colin?  
這篇文章詳細(xì)介紹了各種數(shù)據(jù)類型在Python中的遍歷方法,包括字符串、列表、元組、集合、字典等,并提供了多種遍歷技巧,如直接遍歷、帶索引遍歷、反向遍歷、切片遍歷、zip遍歷等,需要的朋友可以參考下

字符串遍歷

1. 直接遍歷字符

s = "Hello"

# 方式1: for循環(huán)直接遍歷
for char in s:
    print(char)  # H e l l o

# 方式2: 使用索引遍歷
for i in range(len(s)):
    print(f"索引{i}: {s[i]}")

2. 同時(shí)獲取索引和值

s = "Hello"

# enumerate() 獲取索引和值
for index, char in enumerate(s):
    print(f"位置{index}: {char}")
    
# 從指定索引開始
for index, char in enumerate(s, start=1):
    print(f"第{index}個(gè)字符: {char}")

3. 反向遍歷

s = "Hello"

# reversed() 反向遍歷
for char in reversed(s):
    print(char)  # o l l e H

# 使用索引反向
for i in range(len(s)-1, -1, -1):
    print(s[i])

4. 切片遍歷

s = "Hello World"

# 遍歷部分字符串
for char in s[6:]:  # 從第6個(gè)字符開始
    print(char)  # W o r l d

# 步長遍歷
for char in s[::2]:  # 每隔一個(gè)字符
    print(char)  # H l o W r d

列表遍歷

1. 基本遍歷

my_list = [1, 2, 3, 4, 5]

# 直接遍歷
for item in my_list:
    print(item)

# 使用索引遍歷
for i in range(len(my_list)):
    print(f"索引{i}: {my_list[i]}")

2. enumerate 遍歷(推薦)

my_list = ['apple', 'banana', 'cherry']

for index, value in enumerate(my_list):
    print(f"第{index}個(gè)水果: {value}")

# 指定起始索引
for index, value in enumerate(my_list, start=1):
    print(f"水果{index}: {value}")

3. while 循環(huán)遍歷

my_list = [1, 2, 3, 4, 5]
i = 0
while i < len(my_list):
    print(my_list[i])
    i += 1

4. 列表推導(dǎo)式遍歷

my_list = [1, 2, 3, 4, 5]

# 遍歷并處理(創(chuàng)建新列表)
squares = [x**2 for x in my_list]
print(squares)  # [1, 4, 9, 16, 25]

# 帶條件的遍歷
evens = [x for x in my_list if x % 2 == 0]
print(evens)  # [2, 4]

5. zip 遍歷多個(gè)列表

names = ['Alice', 'Bob', 'Charlie']
scores = [85, 92, 78]

# 同時(shí)遍歷兩個(gè)列表
for name, score in zip(names, scores):
    print(f"{name}: {score}分")

# 使用enumerate + zip
for i, (name, score) in enumerate(zip(names, scores)):
    print(f"第{i+1}名: {name} - {score}分")

6. 反向遍歷

my_list = [1, 2, 3, 4, 5]

# reversed() 反向遍歷
for item in reversed(my_list):
    print(item)  # 5 4 3 2 1

# 使用切片反向
for item in my_list[::-1]:
    print(item)  # 5 4 3 2 1

元組遍歷

元組遍歷與列表幾乎相同(元組是不可變的列表)

my_tuple = (1, 2, 3, 4, 5)

# 直接遍歷
for item in my_tuple:
    print(item)

# enumerate遍歷
for i, item in enumerate(my_tuple):
    print(f"第{i}個(gè)元素: {item}")

# 反向遍歷
for item in reversed(my_tuple):
    print(item)

集合遍歷

1. 基本遍歷

my_set = {1, 2, 3, 4, 5}

# 直接遍歷(集合無序,遍歷順序不確定)
for item in my_set:
    print(item)

# 注意:集合沒有索引,不能使用索引遍歷

2. 遍歷并轉(zhuǎn)換為有序

my_set = {5, 3, 1, 4, 2}

# 排序后遍歷
for item in sorted(my_set):
    print(item)  # 1 2 3 4 5

# 反向排序遍歷
for item in sorted(my_set, reverse=True):
    print(item)  # 5 4 3 2 1

3. 遍歷并檢查成員

my_set = {'apple', 'banana', 'cherry'}

# 遍歷時(shí)檢查
for fruit in my_set:
    if 'a' in fruit:
        print(f"{fruit} 包含字母'a'")

字典遍歷

1. 遍歷鍵(keys)

my_dict = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}

# 直接遍歷鍵(默認(rèn)方式)
for key in my_dict:
    print(f"鍵: {key}")

# 顯式使用keys()
for key in my_dict.keys():
    print(f"鍵: {key}")

2. 遍歷值(values)

my_dict = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}

# 遍歷值
for value in my_dict.values():
    print(f"值: {value}")

3. 遍歷鍵值對(duì)(items) - 最常用

my_dict = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}

# 同時(shí)獲取鍵和值
for key, value in my_dict.items():
    print(f"{key}: {value}")
    
# 輸出:
# name: Alice
# age: 25
# city: Beijing

4. enumerate 遍歷字典

my_dict = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}

# 遍歷items并獲取索引
for i, (key, value) in enumerate(my_dict.items()):
    print(f"第{i}項(xiàng): {key} = {value}")

5. 遍歷排序后的字典

my_dict = {'b': 2, 'a': 1, 'c': 3}

# 按鍵排序遍歷
for key in sorted(my_dict):
    print(f"{key}: {my_dict[key]}")

# 按值排序遍歷
for key in sorted(my_dict, key=my_dict.get):
    print(f"{key}: {my_dict[key]}")
    
# 反向排序遍歷
for key in sorted(my_dict, reverse=True):
    print(f"{key}: {my_dict[key]}")

6. 字典推導(dǎo)式遍歷

my_dict = {'a': 1, 'b': 2, 'c': 3}

# 遍歷并創(chuàng)建新字典
squared = {k: v**2 for k, v in my_dict.items()}
print(squared)  # {'a': 1, 'b': 4, 'c': 9}

# 帶條件的遍歷
filtered = {k: v for k, v in my_dict.items() if v > 1}
print(filtered)  # {'b': 2, 'c': 3}

7. 同時(shí)遍歷多個(gè)字典

dict1 = {'a': 1, 'b': 2}
dict2 = {'a': 10, 'b': 20}

# 遍歷相同的鍵
for key in dict1:
    if key in dict2:
        print(f"{key}: {dict1[key]} + {dict2[key]} = {dict1[key] + dict2[key]}")

高級(jí)遍歷技巧

1. filter 函數(shù)過濾遍歷

# 列表過濾遍歷
numbers = [1, 2, 3, 4, 5, 6]
for num in filter(lambda x: x % 2 == 0, numbers):
    print(num)  # 2 4 6

# 字典過濾遍歷
my_dict = {'a': 1, 'b': 2, 'c': 3}
for k, v in filter(lambda item: item[1] > 1, my_dict.items()):
    print(f"{k}: {v}")  # b: 2, c: 3

2. map 函數(shù)映射遍歷

# 列表映射遍歷
numbers = [1, 2, 3]
for num in map(lambda x: x**2, numbers):
    print(num)  # 1 4 9

3. 生成器表達(dá)式遍歷

# 內(nèi)存友好的大列表遍歷
numbers = range(1000000)  # 不立即創(chuàng)建列表

# 使用生成器表達(dá)式
sum_squares = sum(x**2 for x in numbers if x % 2 == 0)
print(sum_squares)

# 遍歷生成器
for square in (x**2 for x in range(5)):
    print(square)  # 0 1 4 9 16

4. itertools 模塊高級(jí)遍歷

from itertools import chain, product, permutations

# 連接多個(gè)可迭代對(duì)象
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for item in chain(list1, list2):
    print(item)  # 1 2 3 a b c

# 笛卡爾積
colors = ['紅', '藍(lán)']
sizes = ['S', 'M']
for color, size in product(colors, sizes):
    print(f"{color}{size}")  # 紅S 紅M 藍(lán)S 藍(lán)M

# 排列
for p in permutations('ABC', 2):
    print(p)  # ('A', 'B') ('A', 'C') ('B', 'A') ('B', 'C') ('C', 'A') ('C', 'B')

遍歷方式對(duì)比表

數(shù)據(jù)類型常用遍歷方式特點(diǎn)示例
字符串for char in s:遍歷字符for c in “hello”:
enumerate(s)帶索引遍歷for i, c in enumerate(s):
列表for item in list:直接遍歷元素for x in [1,2,3]:
enumerate(list)帶索引遍歷for i, x in enumerate(lst):
zip(list1, list2)多列表同時(shí)遍歷for a,b in zip(l1,l2):
元組同列表不可變列表for x in (1,2,3):
集合for item in set:無序遍歷for x in {1,2,3}:
sorted(set)有序遍歷for x in sorted(s):
字典dict.keys()遍歷鍵for k in d.keys():
dict.values()遍歷值for v in d.values():
dict.items()遍歷鍵值對(duì)for k,v in d.items():

1. 優(yōu)先使用 for-in 直接遍歷:最簡(jiǎn)潔,性能好
2. 需要索引時(shí)用 enumerate:比 range(len()) 更優(yōu)雅
3. 字典遍歷用 items():同時(shí)獲取鍵值,效率高
4. 大數(shù)據(jù)用生成器:節(jié)省內(nèi)存,適合大數(shù)據(jù)處理
5. 復(fù)雜遍歷用 itertools:Python標(biāo)準(zhǔn)庫,功能強(qiáng)大

以上就是Python中字符串,列表,元組,集合及字典常見的遍歷方式匯總的詳細(xì)內(nèi)容,更多關(guān)于Python字符串,列表,元組,集合及字典遍歷的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python?selenium.webdriver?爬取政策文件的實(shí)現(xiàn)

    python?selenium.webdriver?爬取政策文件的實(shí)現(xiàn)

    本文主要介紹了python?selenium.webdriver?爬取政策文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Pytorch精準(zhǔn)記錄函數(shù)運(yùn)行時(shí)間的方法

    Pytorch精準(zhǔn)記錄函數(shù)運(yùn)行時(shí)間的方法

    參考Pytorch官方文檔對(duì)CUDA的描述,GPU的運(yùn)算是異步執(zhí)行的,一般來說,異步計(jì)算的效果對(duì)于調(diào)用者來說是不可見的,異步計(jì)算的后果是,沒有同步的時(shí)間測(cè)量是不準(zhǔn)確的,所以本文給大家介紹了Pytorch如何精準(zhǔn)記錄函數(shù)運(yùn)行時(shí)間,需要的朋友可以參考下
    2024-11-11
  • Python 實(shí)現(xiàn)日志同時(shí)輸出到屏幕和文件

    Python 實(shí)現(xiàn)日志同時(shí)輸出到屏幕和文件

    這篇文章主要介紹了Python 實(shí)現(xiàn)日志同時(shí)輸出到屏幕和文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python使用sigthief簽發(fā)證書的實(shí)現(xiàn)步驟

    Python使用sigthief簽發(fā)證書的實(shí)現(xiàn)步驟

    Windows 系統(tǒng)中的一些非常重要文件通常會(huì)被添加數(shù)字簽名,其目的是用來防止被篡改,能確保用戶通過互聯(lián)網(wǎng)下載時(shí)能確信此代碼沒有被非法篡改和來源可信,從而保護(hù)了代碼的完整性、保護(hù)了用戶不會(huì)被病毒、惡意代碼和間諜軟件所侵害,本章將演示證書的簽發(fā)與偽造
    2021-06-06
  • Python3將ipa包中的文件按大小排序

    Python3將ipa包中的文件按大小排序

    這篇文章主要介紹了Python3將ipa包中的文件按大小排序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 使用原生Python編寫Hadoop?MapReduce程序

    使用原生Python編寫Hadoop?MapReduce程序

    在大數(shù)據(jù)處理領(lǐng)域,Hadoop?MapReduce是一個(gè)廣泛使用的框架,用于處理和生成大規(guī)模數(shù)據(jù)集,本文將使用原生Python編寫Hadoop?MapReduce程序,需要的可以參考下
    2025-02-02
  • Python設(shè)計(jì)模式中的策略模式詳解

    Python設(shè)計(jì)模式中的策略模式詳解

    策略模式屬于Python-設(shè)計(jì)模式中行為模式之一,該模式定義了一系列算法,并將每個(gè)算法封裝起來,使它們可以相互替換。本文將通過示例詳細(xì)講解這一模式,需要的可以參考一下
    2023-02-02
  • 利用python實(shí)現(xiàn)冒泡排序算法實(shí)例代碼

    利用python實(shí)現(xiàn)冒泡排序算法實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于如何利用python實(shí)現(xiàn)冒泡排序算法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Python實(shí)現(xiàn)投影法分割圖像示例(一)

    Python實(shí)現(xiàn)投影法分割圖像示例(一)

    今天小編就為大家分享一篇Python實(shí)現(xiàn)投影法分割圖像示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python實(shí)現(xiàn)WebP格式轉(zhuǎn)成JPG、PNG和JPEG的方法

    python實(shí)現(xiàn)WebP格式轉(zhuǎn)成JPG、PNG和JPEG的方法

    平時(shí)在網(wǎng)上搜索圖片,另存為時(shí)常常遇到 WebP 格式,而非常見的 JPG、PNG、JPEG 格式,所以以此文記錄一下WebP的讀取和轉(zhuǎn)換方法,希望對(duì)大家有所幫助,需要的朋友可以參考下
    2024-06-06

最新評(píng)論

黑河市| 舞阳县| 益阳市| 乐亭县| 庆安县| 探索| 永仁县| 开阳县| 宁远县| 榆林市| 灵宝市| 吉木乃县| 迭部县| 延吉市| 彰化市| 广饶县| 公安县| 万盛区| 马边| 万全县| 新丰县| 马尔康县| 孟州市| 新建县| 扶风县| 武强县| 华亭县| 同仁县| 古田县| 肇源县| 明光市| 布拖县| 栾川县| 阿拉善左旗| 尉氏县| 遵化市| 花垣县| 苏尼特右旗| 太和县| 三门峡市| 如皋市|