繁体   English   中英

如何对以下两个列表执行列表理解?

[英]How to perform list comprehension on the following two lists?

这个问题之前可能已经有人问过,但是我是python的新手,而且缺乏更好的关键词搜索让我提出了这个问题。

我有两个清单:

list1 = ['John', 'Don', 'Sam']
list2 = ['Melissa', 'Amber', 'Liz']
couples = [x + ' and ' y for x in list1 y in list2] # I can't do that

我的夫妻名单应如下所示:

['John and Melissa', 'Don and Amber', 'Sam and Liz']

如何以这种方式连接这两个列表?

提前致谢

>>> list1 = ['John', 'Don', 'Sam']
>>> list2 = ['Melissa', 'Amber', 'Liz']
>>> [' and '.join(i) for i in zip(list1, list2)]
['John and Melissa', 'Don and Amber', 'Sam and Liz']

您可以使用zip()遍历两个列表:

couples = [x + ' and ' + y for x, y in zip(list1, list2)] 

zip两个列表并使用str.format

list1 = ['John', 'Don', 'Sam']
list2 = ['Melissa', 'Amber', 'Liz']
print ["{} and {}".format(*name) for name in zip(list1,list2)]
['John and Melissa', 'Don and Amber', 'Sam and Liz']

您还可以使用枚举:

list1 = ['John', 'Don', 'Sam']
list2 = ['Melissa', 'Amber', 'Liz']
print ["{} and {}".format(name,list2[ind]) for ind, name in enumerate(list1)]
['John and Melissa', 'Don and Amber', 'Sam and Liz']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM