繁体   English   中英

如何跳过python列表中的当前元素

[英]How to skip over current element in a python list

如何遍历python列表,将每个项目添加到除当前项目以外的另一个列表中:

list = [1,2,8,20,11]

for i,j in enumerate(list):
    print j[i+1:]
#this will only give [2,8,20,11] then [8,20,11],[20,11], [11]

#but I want something like [2,8,20,11], [1,8,20,11],[1,2,20,11]... etc.
#then 1,8,20,11
#then 

看起来您正在追求combinations ,例如:

>>> from itertools import combinations
>>> data = [1,2,8,20,11]
>>> list(combinations(data, 4))
[(1, 2, 8, 20), (1, 2, 8, 11), (1, 2, 20, 11), (1, 8, 20, 11), (2, 8, 20, 11)]

您可以使用列表切片

lst = [1,2,8,20,11]
for i in xrange(len(lst)):
    print lst[:i]+lst[i+1:]

>>> [2, 8, 20, 11]
    [1, 8, 20, 11]
    [1, 2, 20, 11]
    [1, 2, 8, 11]
    [1, 2, 8, 20]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM