Python不使用itertools包将两个列表元素两两组合为元组的方法
实现方案
完全使用Python原生语法实现,无需引入任何第三方包或标准库额外模块,以下两种方法都可以得到你要求的输出结果:
方法1:基础嵌套循环(新手友好,易理解)
逻辑步骤:
- 初始化空列表存储临时配对结果
- 先遍历
list2的所有元素(匹配你给出的输出顺序要求) - 内层遍历
list1的所有元素,将两个元素组成列表后追加到临时列表 - 最后把临时列表转换为元组即可
list1 = ["a", "b", "c"] list2 = ["wow", 2] temp = [] for y in list2: for x in list1: temp.append([x, y]) new_tuple = tuple(temp) print(new_tuple)
方法2:推导式简洁实现
逻辑和嵌套循环完全一致,一行代码即可完成:
list1 = ["a", "b", "c"] list2 = ["wow", 2] new_tuple = tuple([x, y] for y in list2 for x in list1) print(new_tuple)
两种方法的输出均和你的预期完全一致:
(["a", "wow"], ["b", "wow"], ["c", "wow"], ["a", 2], ["b", 2], ["c", 2])
如果需要调整配对顺序,调换两个循环的前后位置即可。
内容的提问来源于stack exchange,提问作者Duc Anh Ho
相关产品推荐
相关产品推荐

