我是python新手,我正在编写一个简单的脚本,其中,给定一个列表中的4个整数:
list = [ 10 , 20 , 30 , 40 ]
我遍历所有的循环,在每个循环中,我更改正在处理的数字。一个例子是将数字10改为任何我喜欢的其他数字(它甚至可能是randint()的结果)。然而,数字的处理在这里并不重要,而是我遍历列表的方式。你知道吗
迭代的一个简单方法是对循环使用:
for i in list:
或者
for x in range(3):
print(list[x])
但是,我要解决的问题是,我不知道在python中是否可能。你知道吗
我想遍历列表中的所有数字,当我修改最后一个数字(N)时,我想再次开始for循环,但顺序不同。你知道吗
示例(带索引):
# first 4 cycles
order = 0 - 1 - 2 - 3
# second 4 cycles
order = 0 - 2 - 3 - 1
# third 4 cycles
order = 2 - 1 - 0 - 3
(...)
这意味着整数将按以下示例顺序处理:
# first 4 cycles
order = 10 - 20 - 30 - 40
# second 4 cycles
order = 10 - 30 - 40 - 20
# third 4 cycles
order = 20 - 30 - 10 - 40
(...)
注意,在4个连续循环(N)中,索引可以不重复,因此,必须在for循环结束时处理所有数字。你知道吗
有什么图书馆可以帮助我吗?最好的方法是什么?你知道吗
根据OP的评论,获取此列表的所有可能组合的方法如下(使用itertools):
输出如下:
您可以使用
random.shuffle
在适当的位置对列表进行无序排列。你知道吗提供:
这将更改原始列表的顺序,因此如果要保留该列表,则应制作一份副本:
你可以使用numpy.random.permutation
例如,如果要遍历列表4次,每次都按不同的顺序遍历,可以使用以下代码
这将给你以下结果
40 10 20 30 30 10 40 20 30 10 20 40 40 20 30 10
相关问题 更多 >
编程相关推荐