字典
类似于java中的hashmap
创建字典
使用{}创建字典
使用:指明键:值对
my_dict = {'John': 86411234, 'Bob': 86419453,'Mike': 86412387}
键必须是不可变的且不重复,值可以是任意类型
访问字典
dic[key]
len(my_dict)
字典中键-值对的数量
key in my_dict
快速判断key是否为字典中的键:O(1)
等价于my_dict.has_key(key)
for key in my_dict
枚举字典中的键,注:键是无序的
更多的方法
my_dict.items()–全部的键-值对
my_dict.keys()–全部的键
my_dict.values()–全部的值
my_dict.clear()–清空字典
集合:set
集合
无序不重复元素(键)集
和字典类似,但是无“值”
创建
x=set()
添加和删除
x.add(‘body')
x.remove('body')
集合的运算符
- |
差集 |
& |
交集 |
| |
并集 |
!= |
不等于 |
== |
等于 |
in |
成员 |
for key in set |
枚举 |
内置数据结构比较
string |
list |
tuple |
set |
dict |
|
Mutable |
No |
Yes |
No |
Yes |
Yes |
Sequential |
Yes |
Yes |
Yes |
No |
No |
Sortable |
Yes |
Yes |
Yes |
No |
No |
Slicable |
Yes |
Yes |
Yes |
No |
No |
Index/key type |
Int |
Int |
Int |
Immut |
Immut |
Item/value type |
Char |
Any |
Any |
No |
Any |
Search complexity |
O(n) |
O(n) |
O(n) |
O(1) |
O( |