python 学习中
def puke7出2留5(list_1):
list_2 = list_1
for i in range(6):
for j in range(5):
list_3 = list_2
if len(list_3) == 7:
del(list_3[i])
del(list_3[j])
print(list_3)
if __name__ == "__main__":
list_1 = [1,2,3,4,5,6,7]
puke7出2留5(list_1)
为什么只能输出一行结果?不应该是将21种结果都输出么?
[3, 4, 5, 6, 7]
是不是在for 循环中无法正常调用外部列表?或只能调用一次外部列表?
将7选2的所有组合输出出来
本来我也很奇怪,想了半天突然想到你赋值list_3=list_2=list_1时他们仨用同一个内存相当于他们是同一个列表,修改一个就会修改另外的,所以赋值时copy一下就好了
看不出代码的思路
from itertools import combinations, permutations
for l in permutations([1, 2, 3, 4, 5, 6 ,7], 5):
print(l)
你要自己实现组合算法吗?