[英]python list all combiniations without itertools
def all_combinations(input_lst):
return_lst=[]
for i in range(0, len(input_lst)-1):
for j in range(i+1, len(input_lst)):
return_lst.append([input_lst[i], input_lst[j]])
return return_lst
[(input_lst[i], input_lst[j]) for i in xrange(len(input_lst) - 1) for j in xrange(i + 1, len(input_lst))]
l = [1,2,3,4,]
=> [(2, 1), (3, 1), (4, 1), (3, 2), (4, 2), (4, 3)]
1.使用enumerate
[ (x,y) for (i,y) in enumerate(l) for x in l[i+1:] ]
2.使用index
[ (x,y) for y in l for x in l[l.index(y)+1:] ]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.