a = [x+y for x in ['Python ','C '] for y in ['Language','Programming']]
print(a)
输出为['Python Language', 'Python Programming', 'C Language', 'C Programming']
我认为两个列表加在一起应该像['Python ','C ','Language','Programming']
简单地从左到右“解构”理解,这与嵌套for
循环为您提供两个列表的笛卡尔积相同:
a = []
for x in ['Python ','C ']:
for y in ['Language','Programming']:
a.append(x+y)
# ['Python Language', 'Python Programming', 'C Language', 'C Programming']
您所期望的预期输出是列表串联的结果,例如
a = ['Python ','C '] + ['Language','Programming']
# ['Python ', 'C ', 'Language', 'Programming']