源于最近写程序频繁用到了list中元素两两组合问题,特意总结如下:
list中相邻元素两两组合:
portList = ['a', 'b', 'c', 'd']
for i, p in enumerate(portList):
if i == len(portList) - 1:
break
print(p, portList[i + 1])
print("------")

#不使用内置工具实现有序排列
list1=['a','b','c','d']
list2 = []
for i in range(len(list1)):
for j in range(i+1,len(list1)):
if i != j:
list2.append((list1[i],list1[j]))
print(list2)
使用内置函数实现有序组合
import itertools
list1=['a','b','c','d']
#2指的是几个元素组合
iter = itertools.combinations(list1,2)
print(list(iter))

#不使用内置工具实现无序排列
list1=['a','b','c','d']
list2 = []
for i in list1:
for j in list1:
if i != j:
list2.append((i,j))
print(list2)
#无序排列
import itertools
list1=['a','b','c','d']
iter = itertools.permutations(list1,2)
print(list(iter))
二、zip的妙用
l1 = ['a', 'b']
l2 = [1, 2]
l3 = ['A', 'B']
batch = (l1, l2, l3)
print(list(zip(*batch)))
运行的结果如下:

参考文献:
https://www.cnblogs.com/angdh/p/10277829.html
https://blog.youkuaiyun.com/weixin_41576383/article/details/82290185
本文详细介绍如何在Python中实现列表元素的两两组合,包括相邻元素组合、有序排列组合及无序排列组合的方法。同时,利用内置函数itertools进行高效组合,并展示了zip函数在批量处理多个列表时的巧妙应用。
728

被折叠的 条评论
为什么被折叠?



