Python 元组
Python 列表
Python 字典
Python 集合
geopy 在python中的使用
python中的集合是一种不重复的无序集,与java中的Set类似。使用花括号{}来定义。
可以说,set是一组存放key的集合。
可以使用{}
和set()
函数两种方式来创建一个集合。
集合元素是不可变类型,所以可以使用数值,字符串,元组,而不能使用列表,字典当做元素值。
>>> set1 = {1,2,'three', 'four', (10, 11)}
>>> set1
{'four', 2, (10, 11), 'three', 1}
如果你创建时在集合中写了重复的值,不会报错,但根据互异性,只会保存一个:
>>> set2 = {1,2,3,3,4}
>>> set2
{1, 2, 3, 4}
创建空集合要使用set(),而不能使用{},因为后者指的是创建空字典。
>>> set3 = set()
>>> set3
set()
参数可以使用列表,或者元组。该集合的元素就是列表或元组的元素。
还可以使用字符串来创建集合,得到的集合的元素是字符串的每个字符。
注意:集合会自动过滤相同的重复元素,只保留一个元素。
# 使用列表创建集合
>>> set4 = set([1,2,3,4,5])
>>> set4
{1, 2, 3, 4, 5}
# 使用元组创建集合
>>> set5 = set(('one', 'two', 'three', 'four'))
>>> set5
{'one', 'two', 'four', 'three'}
# 使用字符串创建集合
>>> set6 = set('Hello')
>>> set6
{'e', 'o', 'H', 'l'}
使用for each来遍历集合
>>> set5
{'one', 'e', 'H', 'l', 'three'}
>>> for key in set5:
print(key)
one
e
H
l
three
>>>
参考
& 和 intersection()
>>> set1 = {1,2,3,4,5}
>>> set2 = {4,5,6,7,8}
>>> set1 & set2
{4, 5}
>>> set1.intersection(set2)
{4, 5}
| 和 union()
>>> set1 = {1,2,3,4,5}
>>> set2 = {4,5,6,7,8}
>>> set1 | set2
{1, 2, 3, 4, 5, 6, 7, 8}
>>> set1.union(set2)
{1, 2, 3, 4, 5, 6, 7, 8}
- 和 different
>>> set1 = {1,2,3,4,5}
>>> set2 = {4,5,6,7,8}
>>> set1 - set2
{1, 2, 3}
>>> set1.difference(set2)
{1, 2, 3}
^ 和 symmetric_difference
>>> set1 = {1,2,3,4,5}
>>> set2 = {4,5,6,7,8}
>>> set1 ^ set2
{1, 2, 3, 6, 7, 8}
>>> set1.symmetric_difference(set2)
{1, 2, 3, 6, 7, 8}
<= 和 issubset
>>> set1 = {1, 2, 3, 4, 5}
>>> set2 = {4, 5, 6, 7, 8}
>>> set3 = {1, 2, 3, 4}
>>> set3 <= set1
True
>>> set3 <= set2
False
>>> set3.issubset(set1)
True
>>> set3.issubset(set2)
False
= 和 issuperset
>>> set1 = {1, 2, 3, 4, 5}
>>> set2 = {4, 5, 6, 7, 8}
>>> set3 = {1, 2, 3, 4}
>>> set1 >= set3
True
>>> set2 >= set3
False
>>> set1.issuperset(set3)
True
>>> set2.issuperset(set3)
False
in 判断元素是否在集合中
>>> set1 = {1, 2, 3, 4, 5}
>>> 1 in set1
True
>>> 6 in set1
False
not in 判断元素是否不在集合中
>>> set1 = {1, 2, 3, 4, 5}
>>> 1 not in set1
False
>>> 6 not in set1
True
不带update的函数,表示将结果生成新的一个集合并返回;
带update的函数,表示将结果赋予调用的集合,没有返回值。
比如说,求并集的预算函数set1.intersection_update(set2)相当于
set1 &= set2,即set1 = set1.interection(set2)。其他的函数类似。
# 使用 &=
>>> set1 = {1, 2, 3, 4, 5}
>>> set2 = {4, 5, 6, 7, 8}
>>> set1 &= set2
>>> set1
{4, 5}
# 使用 intersection_update
>>> set1 = {1, 2, 3, 4, 5}
>>> set2 = {4, 5, 6, 7, 8}
>>> set1.intersection_update(set2)
>>> set1
{4, 5}
>>>
相关运算符及对应函数:
运算符号 | 对应函数 |
---|---|
&= | intersection_update |
-= | difference_update |
^= | symmetric_difference_update |