在Python中动态创建循环并存储一些值

在Python中动态创建循环并存储一些值,python,Python,是否可以在Python中动态创建循环并存储一些值 例如,2个循环的循环: for word1 in word_list: for word2 in word_list: final_word=word1+word2 for word1 in word_list: for word2 in word_list: for word3 in word_list: final_word=word1+word2+word3 三

是否可以在Python中动态创建循环并存储一些值

例如,2个循环的循环:

for word1 in word_list:
    for word2 in word_list:
        final_word=word1+word2
for word1 in word_list:
    for word2 in word_list:
        for word3 in word_list:
              final_word=word1+word2+word3
三个循环的循环:

for word1 in word_list:
    for word2 in word_list:
        final_word=word1+word2
for word1 in word_list:
    for word2 in word_list:
        for word3 in word_list:
              final_word=word1+word2+word3

您是否只是试图获取列表中所有n个单词的组合,即如果列表是
['a','b','c']
,您是否只想
['aaa','aab','aac','aba','abb','abc','aca',等等]
?如果是这样,只需将连接映射到产品上,其中重复值是要连接的单词数:

map(''.join, itertools.product(wordlist, repeat=n))
导入时间
startedsomething=0
finishingoff=1
第二轮=2
第一轮=1
def repeat():
def one():
如果第一轮<第二轮:
打印(“这是第一轮1111111通过”)
一()
时间。睡眠(3)
def two():
全球第一轮,第二轮
如果第一轮=第二轮:
打印(“如果finishingoff设置为10,则这是第二轮2222222,即9轮,此代码应显示4次”)
第二轮+=1
第一轮-=1
第一轮+=1
时间。睡眠(3)
二()
打印(“这是一些有趣的代码,我希望你喜欢这个循环”)
打印(“真正发生的事情是,第一轮比这段代码,第二轮,第一轮比这段代码,第一轮比这段代码,第一轮可以引用第二轮中的某个东西,特别是如果你在上面有一个通用变量,第二轮中有一个全局变量,第二轮可以引用第一轮”)
时间。睡眠(3)
def startingsomething():
全球启动
如果finishingoff>启动了某些内容:
print(“现在你碰巧看到你开始做一些事情,让我们确保,你把所有你想让python记住的东西都放在这里,直到你完成为止”)
时间。睡眠(3)
startedsomething+=1
开始做某事
def finalwords():
全局修整
如果finishingoff==开始某事:
打印(“你已经走到了循环的尽头”)
时间。睡眠(3)
finishingoff+=1
finalwords()
完成时,间隙<10:
重复()

发布您试图解决的问题可能会更好。这可能表明您对它有不同的想法。是否有任何不使用
itertools.product(word\u list,repeat=some\u number)
的特殊原因?谢谢!这就是我要找的。我做了一些研究,但当我用“动态”搜索时,我没有找到正确的帖子。我想tobias_k指的是你想要的……你不必再问了,这是肯定的。不过,你可以继续改进你的帖子。是的,这正是我想要做的。我有点困惑,地图功能是否给了我最后的答案?还是在列出所有的组合?我做了final_word=map('''.join,itertools.product(word_list,repeat=n))但不起作用,(可能是我的程序出错了,但我想知道我是否做得对。我没有收到错误,但有时我看不到我的curses程序有错误)我看到你的函数创建了一个列表。我认为这是一个有趣的答案,但问题是,如果有太多的组合,它会变慢,并消耗大量的内存不是吗?这就是我喜欢循环的原因,避免创建一个大列表。另外,我想知道map函数是否允许像“ú#@”这样的奇怪字符,我做了一个测试,因为我看不到发生了什么,我创建了一个函数来在文件中写入最后一个单词,但我没有得到“奇怪字符”>奇怪字符,这是我的错误。(无法编辑上一篇文章)是的,
map
将生成一个完整的列表。如果您想要一个不预先创建所有内容的延迟版本,您可以使用
map
-.map的延迟版本。map只接受一个参数和一个序列的函数,并返回对序列的每个项调用函数的结果列表。如果函数
times2
获取一个数字并返回加倍的数字,则
map(times2[1,2,3])
将导致
[2,4,6]
。这就是地图的全部内容。请为您的答案提供一些上下文。它将帮助其他人轻松理解您提供的答案。首先,我在看主题“动态创建一些循环并存储一些值”,因此代码就是这样一个例子。我编写的代码包含5个循环。第一个叫做“repeat”,它的函数是(这就是它的函数)循环遍历主代码,而不是它上面的代码。在上面的代码中,它是全局变量(无需在代码中称为全局变量,因为它们不是任何函数的一部分)。您可以在循环中的任何函数中,通过首先将它们标记为“全局”来重新为这些变量赋值。其余的是“如果”语句。提示:为问题给出的示例添加更多“如果”欢呼声:使用“for”循环。正如我对Python的理解,“for”循环是提取值,而不是添加或更改值。如果您只想提取和存储值,那么就使用“for”循环。当然,您可以将“for”与我提供的动态循环结合使用。我发现在动态循环中使用“for”非常混乱。更正,在我的第一个问题上:1循环5个函数而不是5个循环,即使你可以在每个函数中创建一个“while”循环。我不推荐多个“while”循环。这太令人困惑了。“for”我会有各种各样的,但是,就像我说的从python数组(它只是python中的列表)中提取值一样。至于上下文,我提供的函数1和函数2的复杂重复可以在任何上下文中使用,