python - 如何在Python中循环另一个循环

标签 python

我想在列表中添加从 0000 到 9999 的年份,我做了什么:

i = 0
a = []

while i <= 9:
    a += [i]
    i += 1
years = []
for i1 in a: 
    for i2 in a:
        for i3 in a:
            for i4 in a:
                numbers = f'{i1}{i2}{i3}{i4}'
                years += [numbers]

但是如果我需要这样做 99 次怎么办?是否有任何方法可以在没有简单复制粘贴代码的情况下做到这一点?

最佳答案

您想要的称为*笛卡尔积。

from itertools import product

for numbers in product([1,2,3], repeat=5): ...

但是,这会随着循环数量呈指数增长,您可能应该重新考虑您要做什么。

关于python - 如何在Python中循环另一个循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58305481/

相关文章:

python - 在 python、linux 中获取 stderr 重定向的目的地

python - 从 python 脚本在共享库上运行 gcov

python - 无法替换 pandas DataFrame 中的字符串内容

python - 如何在 python GUI 应用程序中创建线程?

python - 检查用户名是否已存在于数据库中(Python + Pymongo)

Python Itertools : Complex "product"

python - 用sympy计算多元函数的泰勒级数

python - 使用 DseAuthenticator 和 DseAuthorizer 从 Windows 将 python 连接到 cassandra 集群

python - 从模块中使用 matplotlib 进行绘图

python - Nginx:将 WordPress URL 映射到新的静态网站