字典
假如有个列表:
li=[“pyth”,“java”,“c”]
li[0]=“python”
li.sort()
假如统计学生信息,包括学号姓名,年龄,
li=[[20190101,“tom”,18]],
[20190201,“jack”,19],
…
[20190n01,“lilei”,18]
循环遍历,十分麻烦
考虑字典
info={
"id":20190101,"name":"tom","age":18}
print(info)
#{'id': 20190101, 'name': 'tom', 'age': 18}
key:value—>键值对
字典是列表以外python中使用最灵活的内置数据类型
字典是一种可变的数据类型
和列表的区别:
- 列表有序,字典无序
- 列表通过索引偏移访问元素,字典通过键(key)访问元素
字典的基本格式:
dic={key1:value1,key2:value2,…,keyn:valuen}
值可以去任意数据类型,但键不可以,必须为不可变数据类型,即key必须可哈希。
可哈希—>不可变
不可哈希—>可变
特点:
1.键值对之间用冒号连接
2.键值对组成字典的一个元素
3.键值对之间用逗号分开
4.整个字典用花括号包裹
字典的创建
空字典
dic={}
创建多元素字典
info={"id":20190101,"name":"tom","age":18}
print(len(info))
print(info["id"])
强转
dic=dict(id=20190101,name="tom",age=18)
print(dic)
key=("id","name","age")
value= (20190101,"tom",18)
a=zip(key,value)
print(type(a))
tp=tuple(a)
print(tp,type(tp))
tp=list(a)
print(tp,type(tp))
tp=dict(list(a))
print(tp,type(tp))
#
{
'id': 20190101, 'name': 'tom', 'age': 18}
<class 'zip'>
(('id', 20190101), ('name', 'tom'), ('age', 18)) <class 'tuple'>
[] <class 'list'>
{
} <class 'dict'>
通过字典的fromkeys方法创建字典
格式:
d i c t . f r o m k e y s ( s e q , v a l = n o n e ) dict.fromkeys(seq,val=none)