在Python中迭代集合

2025 年 1 月 5 日 | 阅读 9 分钟

引言

在本教程中,我们将学习如何在 Python 中迭代集合。在 Python 中,集合 (Set) 是一种数据类型,它是无序的、可迭代的、可变的,并且没有重复元素。它是由不相等的对象组成的无序集合。这可以通过将所有元素包含在花括号中来实现。我们也可以使用 "set" 这个词的类型转换来创建一个集合。有许多方法可以迭代集合。其中一些方法比其他方法提供更快的完成时间。其中一些方法包括使用 for 或 while 循环进行迭代、推导式、迭代器以及它们的变种。让我们来看看在 Python 中迭代集合的所有不同方法。

为了解释每种方法或过程的工作原理,将对每个集合的时间进行 10 次计算,以粗略估计每个过程重复集合所需的时间。每个脚本都添加了 random.seed(20),以在程序每次运行时设置随机数生成器。使用连续的种子可以帮助我们确定哪种算法最适合随机化。

方法 1:使用简单的 for 循环在 Python 中迭代集合

程序代码 1

这里我们提供一个在 Python 中使用简单的 for 循环迭代集合的程序代码。代码如下 -

输出

现在,我们运行上面的代码并找到迭代集合的结果。输出如下 -

p
n
a
j
o
I
V
T
t

程序代码 2

这里我们提供另一个在 Python 中使用简单的 for 循环迭代集合的程序代码。代码如下 -

输出

现在,我们运行上面的代码并找到迭代集合的结果。输出如下 -

0.11403867299986814
0.18950497800005905
0.10409295399995244
0.10285422400011157
0.11232927199989717
0.1062233429997832
0.10807072300030995
0.10086134399989533
0.2280989750001936
0.10528525300014735

方法 2:使用枚举 for 循环在 Python 中迭代集合

程序代码 1

在这里,我们提供一个在 Python 中使用枚举 for 循环迭代集合的程序代码。代码如下 -

输出

现在,我们运行上面的代码并找到迭代集合的结果。输出如下 -

0 p
1 I
2 t
3 a
4 n
5 T
6 V
7 j
8 o

程序代码 2

在这里,我们提供另一个在 Python 中使用枚举 for 循环迭代集合的程序代码。代码如下 -

输出

现在,我们运行上面的代码并找到迭代集合的结果。输出如下 -

0.19005843900004038
0.19073062799998297
0.27357256200002666
0.18275223899991033
0.2909469009996428
0.26215460299999904
0.20091521799986367
0.2608298739996826
0.2339426960002129
0.19958877699991717

方法 3:在 Python 中使用列表索引迭代集合

程序代码 1

在这里,我们提供一个在 Python 中将集合作为索引列表进行迭代的程序代码。代码如下 -

输出

现在,我们运行上面的代码并找到迭代集合的结果。输出如下 -

j
I
o
n
t
p
a
T
V

程序代码 2

在这里,我们提供另一个在 Python 中将集合作为索引列表进行迭代的程序代码。代码如下 -

输出

现在,我们运行上面的代码并找到迭代集合的结果。输出如下 -

0.16551435499968647
0.13716599699910148
0.26443467599892756
0.16326654499971482
0.16464030499992077
0.1735125440009142
0.19109698299871525
0.1646769150011096
0.1808702340003947
0.19082217200048035

方法 4:在 Python 中使用列表推导式和列表构造函数或初始化器迭代集合

程序代码 1

这里我们提供一个在 Python 中使用列表推导式和列表构造函数或初始化器迭代集合的程序代码。代码如下 -

输出

现在,我们运行上面的代码并找到迭代集合的结果。输出如下 -

t o V p j I T a n

程序代码 2

这里我们提供另一个在 Python 中使用列表推导式和列表构造函数或初始化器迭代集合的程序代码。代码如下 -

输出

现在,我们运行上面的代码并找到迭代集合的结果。输出如下 -

0.15855274200021086
0.19902161599975443
0.14570050500014986
0.1568148530000144
0.16012990200033528
0.16735256999982084
0.16814515100031713
0.1761195899998711
0.1977726159998383
0.17010855999978958

方法 5:在 Python 中使用推导式迭代集合

程序代码 1

这里我们提供一个在 Python 中使用推导式迭代集合的程序代码。代码如下 -

输出

现在,我们运行上面的代码并找到迭代集合的结果。输出如下 -

T
n
p
o
V
j
t
I
a

程序代码 2

这里我们提供另一个在 Python 中使用推导式迭代集合的程序代码。代码如下 -

输出

现在,我们运行上面的代码并找到迭代集合的结果。输出如下 -

0.1120119230004093
0.1369407410002168
0.09968691399990348
0.11263252300022941
0.0981952239999373
0.10432078400026512
0.10932438300005742
0.10905879300025845
0.11209933300006014
0.11355534299991632

方法 6:在 Python 中使用列表推导式、map 和 lambda 迭代集合

程序代码 1

这里我们提供一个在 Python 中使用列表推导式、map 和 lambda 迭代集合的程序代码。代码如下 -

输出

现在,我们运行上面的代码并找到迭代集合的结果。输出如下 -

1.4739999642188195e-05
1.0599999768601265e-05
9.530000170343556e-06
7.71000031818403e-06
1.1050000011891825e-05
8.650999916426372e-06
1.098000029742252e-05
1.1320000339765102e-05
9.829999726207461e-06
1.1010000434907852e-05

方法 7:在 Python 中使用迭代器迭代集合

程序代码 1

这里我们提供一个在 Python 中使用迭代器迭代集合的程序代码。代码如下 -

输出

现在,我们运行上面的代码并找到迭代集合的结果。输出如下 -

0.07723290199919575
0.08441379999931087
0.09306632900006662
0.08441358099935314
0.08657992999997077
0.09035302000029333
0.16457469099987065
0.08507127999928343
0.07552363099966897
0.08359780099999625

方法 8:在 Python 中使用迭代器和 while 循环迭代集合

程序代码 1

在这里,我们提供一个在 Python 中使用迭代器和 while 循环迭代集合的程序代码。代码如下 -

输出

现在,我们运行上面的代码并找到迭代集合的结果。输出如下 -

T
p
n
a
o
I
j
t
V

程序代码 2

在这里,我们提供另一个在 Python 中使用迭代器和 while 循环迭代集合的程序代码。代码如下 -

输出

现在,我们运行上面的代码并找到迭代集合的结果。输出如下 -

0.3093325879999611
0.4053483710004002
0.3176578869997684
0.33244416500019724
0.3085970680003811
0.2924862589998156
0.3821563219999007
0.493368004000331
0.563407138999537
0.3112385769991306

结论

因此,在本教程中,我们学习了如何在 Python 中迭代集合。在所有循环方法中,简单的迭代器循环效果最好。它在 10 毫秒内完成一百次操作,优于 map 或 set 的 lambda 和所有迭代方法。完成数千次写入迭代。值得注意的是,上面的示例只访问每个迭代的集合组件。如果我们每次迭代收集输入的次数增加到一次,它将改变每次迭代花费的时间。在这里,我们学习了所有方法的程序代码以及输出。上述程序代码输出中提到的结果应该有所不同。时间消耗差异的原因在于机器对各个系统处理器处理能力的依赖。