Python双层循环拼接列表元素无法得到期望的合并列表输出怎么办
问题原因
你当前的代码在每次内层循环时直接打印拼接后的字符串,没有将结果统一存储到列表中,所以只会得到逐行打印的零散结果,无法输出完整的目标列表。
修改方案
方法1:显式创建列表收集结果
先初始化一个空列表,每次循环把拼接好的字符串追加到列表中,最后统一打印列表:
list1 = ["Hello ", "take "] list2 = ["Dear", "Sir"] res = [] for i in list1: for j in list2: res.append(i + j) print(res)
方法2:使用列表推导式简化写法
可以用Python的列表推导式一行完成结果生成,逻辑和双层循环完全一致,写法更简洁:
list1 = ["Hello ", "take "] list2 = ["Dear", "Sir"] res = [i + j for i in list1 for j in list2] print(res)
两种方法运行后都会输出你期望的结果:['Hello Dear', 'Hello Sir', 'take Dear', 'take Sir']
内容的提问来源于stack exchange,提问作者Karan Singh
相关产品推荐
相关产品推荐

