-Set 输出
list_a = set([‘a’, ‘b’, ‘c’, ‘d’])
list_b = set([‘a’, ‘c’, ‘d’])
list_common = list_a & list_b
print(list_common)
输出:
第一次运行
第二次运行
两次输出的元素顺序不一致
- List 输出
list_a = set([‘a’, ‘b’, ‘c’, ‘d’])
list_b = set([‘a’, ‘c’, ‘d’])
list_common = list(list_a & list_b)
print(list_common)
输出:
第一次运行
第二次运行
print打印之后元素顺序是随机的。这是因为集合(set)是Python中一种重要的数据类型,表示一组各不相同元素的无序集合,其主要应用于重复元素消除及关系测试等 。集合(set)在Python内部通过哈希表实现,其本征无序,输出时所显示的顺序具有随机性,且与运行环境相关。集合在Python内部通过哈希表实现,其本征无序 。打印输出的时候需要遍历哈希表的每一个bucket,这时候哪个bucket在前面,其对应的元素就排在前面 。因此,在不同计算机上或在同一计算机上的不同次运行结果的输出顺序通常都会不一样
引自:https://blog.csdn.net/Jkwwwwwwwwww/article/details/80101742
list_a = set([‘a’, ‘b’, ‘c’, ‘d’])
list_b = set([‘a’, ‘c’, ‘d’])
list_common = list(list_a & list_b)
print(list_common)
print(list_common)
输出:
可以看到元素顺序相同
同样
list_a = set([‘a’, ‘b’, ‘c’, ‘d’])
list_b = set([‘a’, ‘c’, ‘d’])
list_common = list_a & list_b
print(list_common)
print(list_common)
第一次遇到这样的情况,很神奇!