微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

比较具有特定值的两个列表以进行读取

如何解决比较具有特定值的两个列表以进行读取

我有两个列表

list1 = ['01:15','abc','01:15','def','01:45','ghi' ]
list2 = ['01:15','uvz','ghi' ]

当我遍历列表时

list_difference = []
for item in list1:
    if item not in list2:
        list_difference.append(item)

我设法找到了差异,但我也需要时间 因为它是一个单独的项目,'uvz' 对我来说并不意味着列表中包含几千个条目的任何内容。 我试图将其转换为字典,但它被最后一个键覆盖:值 {'01:15' : 'def'}

解决方法

将两个列表转换为元组集合,然后使用集合差分运算符。

set1 = set((list1[i],list1[i+1]) for i in range(0,len(list1),2))
set2 = set((list2[i],list2[i+1]) for i in range(0,len(list2),2))
list_difference = list(set1 - set2)
,

重新格式化你的数据,然后做你之前做过的事情

list1=list(zip(list1[::2],list1[1::2]))
list2=list(zip(list2[::2],list2[1::2]))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。