3

Python中7种迭代方法

 9 months ago
source link: https://www.jdon.com/70810.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Python中7种迭代方法

在 Python 中,使用索引遍历序列(如 list、元组或字符串)有几种方法。一些常见的方法包括:

1、For循环:
遍历序列(列表、元组、字符串等)中的元素。

fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
    print(fruit)

2、While循环:
根据条件进行迭代。

count = 0
while count < 5:
    print(count)
    count += 1

3、列表理解:
这是一种基于现有可迭代表创建新列表的简洁方法。它将迭代与创建新元素相结合。

fruits = ["apple", "banana", "cherry"]

upper_fruits = [fruit.upper() for fruit in fruits]

print(upper_fruits)

迭代的其他方法

  • 使用 reversed 以相反顺序遍历。
  • 使用 zip 同时遍历多个可遍历元素。
  • 使用 enumerate 遍历并访问每个元素的索引。

4、enumerate()函数
Python 中的 enumerate() 函数确实是一个强大而方便的工具,它可以在跟踪索引的同时遍历序列(如 list、元组或字符串)。它返回的元组包含索引和可迭代元素的对应元素,因此在循环中访问索引和值都很方便。

这是使用索引进行迭代的最常见、最直接的方法。它为可迭代元素中的每个元素返回一个双元组,其中第一个元素是索引,第二个元素是元素本身。

fruits = ["apple", "banana", "cherry"]

for index, fruit in enumerate(fruits):
    print(f"Index: {index}, Fruit: {fruit}")

使用 enumerate() 进行列表综合:
这种方法将列表理解与枚举相结合,可同时对索引进行转换和迭代。这种方法简洁高效,可根据索引元素生成新的列表。

fruits = ["apple", "banana", "cherry"]
indexed_fruits = [(index, fruit.upper()) for index, fruit in enumerate(fruits)]
print(indexed_fruits)

使用枚举法,并指定起始索引:

fruits = ['apple', 'banana', 'cherry']
start_index = 1
for index, fruit in enumerate(fruits, start=start_index):
    print(f"Index {index}: {fruit}")

5.  range():
这种方法使用带有可迭代长度的 range 函数来获取索引。这种方法访问索引效率高,但可读性不如 enumerate。

fruits = ["apple", "banana", "cherry"]

for i in range(len(fruits)):
    print(f"Index: {i}, Fruit: {fruits[i]}")

创建列表并同时迭代的简洁方法。
squares = [x**2 for x in range(5)]

Generator表达式
与列表理解类似,但可以懒散地生成值。
square_generator = (x**2 for x in range(5))

zip() 和 range():
该方法使用 zip 函数将索引range与迭代本身结合起来。它可用于对多个列表或序列进行高级迭代。

fruits = ['apple', 'banana', 'cherry']
for i, fruit in zip(range(len(fruits)), fruits):
    print(f"Index {i}: {fruit}")

6、映射Map
此函数对可迭代表中的每个元素应用一个函数,并返回一个包含结果的新可迭代表。它适用于对每个元素执行相同的操作。

fruits = ["apple", "banana", "cherry"]

lengths = map(len, fruits)

print(list(lengths))

7、过滤功能:
该函数返回一个新的可迭代程序,其中只包含满足指定条件的元素。它可用于过滤掉不需要的元素。

fruits = ["apple", "banana", "cherry"]

filtered_fruits = filter(lambda fruit: fruit.startswith("a"), fruits)

print(list(filtered_fruits))

在 Python 中迭代的最佳方法取决于您要完成的特定任务。在选择迭代方法时,请考虑以下因素:

  • 您要迭代的可迭代对象的类型。
  • 是否需要访问每个元素的索引。
  • 是否需要修改原始可迭代对象。
  • 是否需要对每个元素执行相同的操作。
  • 希望代码达到的简洁和可读程度。

Recommend

  • 34
    • www.tuicool.com 4 years ago
    • Cache

    Java版的7种单例模式

    今天看到某一篇文章的一句话 单例DCL 前面加 V 。就这句话让我把 单例模式 又仔细看了一遍。 ...

  • 3
    • zhuanlan.zhihu.com 3 years ago
    • Cache

    保持Unity项目结构清晰的7种方法

    保持Unity项目结构清晰的7种方法Huozk爱好玩游戏!huozk.com 本文翻...

  • 10

    在技​​术更先进的时代,我们做的许多事情都有损大脑。据专家所说,现代生活方式会打破神经通路,使我们变得迟钝和缺乏原创思维,这也愈发会损害大脑。最终,我们的效率会降低。当我们谈论健康时,并不总以养身体的方式来养大脑。但要变得最高效,需要做...

  • 4

    LinkedIn外贸营销,7种方法效果惊人-跨境头条-AMZ123亚马逊导航-跨境电商出海门户 LinkedIn外贸营销,7种方法效果惊人...

  • 5
    • www.androidchina.net 2 years ago
    • Cache

    初期创业,获取种子用户的7种方法

    说到推广,估计很多人想起来的第一步就是该怎么推广,从那里入手?高手们呢,由于推广经验比较多,一般是轻车熟路,有自己的一套思路,而刚入门的呢,估计就会很费劲,临时抱佛脚有时候也不知道该从哪里入手,会比较迷茫。 而一个新产品刚上线,往往面临...

  • 4
    • blog.p2hp.com 2 years ago
    • Cache

    ubuntu 释放空间的7种简单方法

    ubuntu 释放空间的7种简单方法 ㅤㅤㅤ ㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ从我们的理想中,我们无意间暴露了自己的缺陷——让·罗斯唐 ㅤㅤㅤ ㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ

  • 6

    避免云环境配置错误的7种方法-51CTO.COM 避免云环境配置错误的7种方法 译文 作者:黄显东...

  • 5

    避免云配置错误遭受攻击的7种方法 责任编辑:cres 作者:HERO编译 |  2022-05-09 11:09:57 原创文章 企业网D1Net 云计算工程团队和安全团队需要就云计算运营环境的安全性提出一些重要问题,而且他们必须超越...

  • 4

    一、问题描述: 当高度固定或不固定时,单行或多行文本难以实现垂直居中; 二、解决方法: 1、使用line-height属性,将line-height设置与元素高度等高。 局限性:只适用于单行文本,局限性大。 .box {...

  • 6
    • www.amz123.com 1 year ago
    • Cache

    TikTok上变现最常见的7种方法

    TikTok上变现最常见的7种方法 ...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK