python - 如何获得列表中两个值之间的差异
问题描述
我试图得到 temp1 和 temp2 之间的差异,这将是10.25.60.156 和 10.22.17.180。由于 temp2 中的数据有括号,我一直收到此错误:
z = set(temp1).symmetric_difference(set(temp2))
TypeError: unhashable type: 'list'
. 我怎样才能得到这两者之间的区别,其中一个包含一个括号?提前致谢!
temp1 = ['10.25.39.70', '10.25.16.160', '10.25.60.156']
temp2 = [['10.25.16.160'], ['10.22.17.180'], ['10.25.39.70']]
z = set(temp1).symmetric_difference(set(temp2))
print(z)
解决方案
temp1 = ['10.25.39.70', '10.25.16.160', '10.25.60.156']
temp2 = [['10.25.16.160'], ['10.22.17.180'], ['10.25.39.70']]
print( set(temp1).symmetric_difference(v[0] for v in temp2) )
印刷:
{'10.22.17.180', '10.25.60.156'}
推荐阅读
- java - 如何将值放置到不同的arraylist?
- javascript - 从 Vue.JS 中的子对象收集值并分配给父对象键
- excel - 我可以使用 VBA 一次更改所有图形的颜色吗?
- jestjs - JEST react-testing-library 无法读取未定义的属性“推送”
- highcharts - 折叠/展开子节点
- csv - 如何将 CSV 文件自动导入实体?
- python - Python“int64”无法转换为 MySQL 类型
- android - 为什么我的 RecyclerView 在放置在 AppBarLayout 中时不滚动?
- laravel - 什么是 Laravel Forge > 站点详细信息 > 元 > 标签?
- python - 如何提高 python opencv 的性能?