Python:使用两个列表制作一个新列表,将它们合并

2024-10-04 05:34:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两张单子

list1 = ["john", "kelvin", "harry", "rob", "jenny", "donne", "justin", "sam", "peter", "kitty"]
list2 = ["radha", "mohan", "pankaj", "sikha", "samarth"]

我想合并这两个列表,得到一个字典列表,其中应该有两个list1中的人和一个list2中的人。你知道吗

example = [{"john", "kelvin", "radha"}, {"harry", "rob", "mohan"}, ......]

Tags: 列表samjohnpeter单子robjustinlist2
3条回答
list1 = ["john", "kelvin", "harry", "rob", "jenny", "donne", "justin", "sam", "peter", "kitty"]
list2 = ["radha", "mohan", "pankaj", "sikha", "samarth"]

list3 = [[list1[2*i],list1[2*i+1],list2[i]] for i in xrange(len(list2))]

这应该做到,用列表理解它看起来更整洁。你知道吗

下面是您的示例输入的工作原理:

list1 = ["john", "kelvin", "harry", "rob", "jenny", "donne", "justin", "sam", "peter", "kitty"]
list2 = ["radha", "mohan", "pankaj", "sikha", "samarth"]

list3 = []

for i in xrange(len(list2)):
    temp_list = [list1[2*i], list1[1+(2*i)], list2[i]]
    list3.append(temp_list)


print list3

python 2.x工作,只需更改print语句,使其在python 3.x中工作

干杯

Here's the output:

[['john', 'kelvin', 'radha'], ['harry', 'rob', 'mohan'], ['jenny', 'donne', 'pankaj'], ['justin', 'sam', 'sikha'], ['peter', 'kitty', 'samarth']]

包含2+1元素的集合列表:

ls1 = list("ABCDEF")
ls2 = list("123")

iterls1 = iter(ls1)
ls3 = [set(x) for x in zip(iterls1, iterls1, ls2)]
print(ls3)
# [{'A', '1', 'B'}, {'2', 'D', 'C'}, {'3', 'F', 'E'}]

相关问题 更多 >