如何获取列表中顺序不重复的两两元素组合(含自身配对)
列表无序两两组合提取方案
需求
- 给定待处理列表:
['1','2','3','4'] - 需提取所有两两元素组合,顺序不同的相同元素组合视为重复,仅保留1份,即满足
"1|2" == "2|1"的判定规则 - 输出格式要求为
元素1|元素2
预期输出结果
1|1
1|2
1|3
1|4
2|2
2|3
2|4
3|3
3|4
4|4
实现代码
origin_list = ['1','2','3','4'] # 拷贝生成独立的内层遍历列表,避免修改原列表 inner_list = origin_list.copy() for img1 in origin_list: for img2 in inner_list: print(f"{img1}|{img2}") inner_list.remove(img1)
注意事项
原参考代码直接使用 list2 = list 属于引用赋值,修改list2时会同步改动原始列表,使用copy()方法可以规避该问题。
内容的提问来源于stack exchange,提问作者Tho H
相关产品推荐
相关产品推荐

