我有两个列表,第一个列表包含重复值。
我需要的是从 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']
答案 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))