基本上,我需要一种方法将控制返回到for循环的开头,并且如果满足某个条件,则在采取操作后实际重新启动整个迭代过程.
我想要做的是这样的:
for index, item in enumerate(list2):
if item == '||' and list2[index-1] == '||':
del list2[index]
*<some action that resarts the whole process>*
Run Code Online (Sandbox Code Playgroud)
这样,如果['berry','||','||','||','pancake'在列表中,我将结束:
['berry','||','pancake']相反.
谢谢!
我需要一种更快的方法来生成列表的所有排列,然后检查每个排列是否在字典中.
for x in range (max_combo_len, 0, -1):
possible_combos = []
permutations = list(itertools.permutations(bag,x))
for item in permutations:
possible_combos.append(" ".join(item))
#then check to see if each possible combo is in a specific Dict
Run Code Online (Sandbox Code Playgroud)
如果有帮助,列表都将成为字符串列表.['比如','this','one']
我的解决方案有效,但速度很慢.可能是我需要停止使用Python,但我想我会先由你的专家运行它!
最好,加里
我正试图找到从字典中提取平均值的最快/最有效的方法.我正在处理的任务要求它执行数千次,所以每次只需迭代dict中的所有值,找到平均值就完全没有效率.数以百计的新键值对被添加到字典中,我们需要在每次发生时找到平均值.我们还需要在每次更新值时找到新的平均值,这会发生数千次.
在此先感谢 - 这是一个非常棒的地方.
例如,如果我想遍历列表并对除最终列表条目之外的所有列表执行某些操作,我可以这样做:
z = [1,2,3,4,2]
for item in z:
if item != z[-1]:
print z.index(item)
Run Code Online (Sandbox Code Playgroud)
但不是得到输出"... 0 1 2 3,"我得到"... 0 2 3."
有没有办法对除列表中的最后一项之外的所有项目(当列表中有IDENTICAL项目时)执行操作而不使用"for x in range(len(list) - 1)"类型的解决方案?即,我想继续使用"列表中的项目".
非常感谢!
python ×4
dictionary ×2
for-loop ×2
list ×2
loops ×2
average ×1
continue ×1
duplicates ×1
iteration ×1
permutation ×1