连接第二个列表时,从列表中查找和删除重复项

时间:2019-02-02 20:56:26

标签: python python-3.x

我有两个列表,第一个列表包含重复值。 我需要的是从 listItemDone: { borderRadius: "1em", backgroundColor: "#F6F6E8 !important", textDecoration: "line-through !important" }, 删除重复以及在合并这些值List1在同一索引为List2重复的值。

我所拥有的:

List1

我需要什么:

List1 = ['show1', 'show2', 'show3', 'show2', 'show4', 'show4']
List2 = ['1pm', '10am', '11pm', '2pm', '5pm', '3pm']

1 个答案:

答案 0 :(得分:4)

假设你正在使用Python 3.7+,你可以试试这个:

from collections import defaultdict

List1 = ['show1', 'show2', 'show3', 'show2', 'show4', 'show4']
List2 = ['1pm', '10am', '11pm', '2pm', '5pm', '3pm']

d = defaultdict(list)

for show, time in zip(List1, List2):
    d[show].append(time)

List1 = list(d.keys())
List2 = [' | '.join(times) for times in d.values()]
print(List1)
print(List2)

输出:

['show1', 'show2', 'show3', 'show4']
['1pm', '10am | 2pm', '11pm', '5pm | 3pm']

对于3.7以下的版本,您可以用以下内容代替最后几行(工作量稍大):

List1 = []
List2 = []

for show, times in d.items():
    List1.append(show)
    List2.append(' | '.join(times))