Python中如何从两个列表生成全组合的第三个列表(禁用内置函数)
生成列表全组合的最简实现方式
需求说明
现有列表:
list_a = [1, 2, 3, 4, 5]list_b = ['a', 'b', 'c']
需要生成全组合列表list_c = [['a', 1], ['a', 2], ['a', 3], ['a', 4], ['a', 5], ['b', 1], ..., ['c', 5]],要求:
list_b中每个元素对应list_a的所有元素- 不能使用
zip、itertools等内置函数
最简实现代码
直接用双层循环嵌套即可,逻辑清晰且符合要求:
list_a = [1, 2, 3, 4, 5] list_b = ['a', 'b', 'c'] list_c = [] # 外层遍历list_b的每个元素 for char in list_b: # 内层遍历list_a的每个元素,组合后添加到list_c for num in list_a: list_c.append([char, num]) print(list_c)
代码说明
- 外层循环遍历
list_b的每个字符,确保每个字符都能和list_a的元素完成组合 - 内层循环遍历
list_a的每个数字,将当前字符与数字组成子列表后,追加到list_c中 - 该实现没有使用任何禁用的内置函数,是最直观的手动组合方式
内容的提问来源于stack exchange,提问作者Victoria Sztern
相关产品推荐
相关产品推荐

