python用1行代码搞定1234组成3位数的方法
1234四位数字组合成3位数,并且不重复,用python代码来跑一下
else:
# 传统循环嵌套
for i in num_list:
for j in num_list:
for k in num_list:
if i != j and i != k and j != k:
# 最终结果保存为列表,每种组合用元组保存
result_list.append((i,j,k))
# 最终组合个数,也可以使用len()
count_num += 1
itertools
工具对循环进行迭代,简化代码itertools
工具后,循环嵌套层数明显减少,代码量减少2行from itertools import product
for i, j, k in product(num_list,repeat=3):
if i != j and i != k and j != k:
# 最终结果保存为列表,每种组合用元组保存
result_list.append((i,j,k))
# 最终组合个数,也可以使用len()
count_num += 1
itertools
,一行代码轻松搞定[表达式 循环体 筛选条件]
if
条件筛选后不能有else
语句,只是用作条件筛选result_lst = [(i,j,k) for i, j, k in product(num_list,repeat=3) if i != j and i != k and j != k]
纯属自嗨,自嗨