字典

字典(dict)是一种可变容器模型,可以存储任意类型对象。

 字典的每一个键值(key-->value)都是一对一对应,用冒号隔开。每个键值对直接用逗号隔开,所有的键值对用大括号包起来。

1,创建字典

dic={'name':'Jack','age':22,'sex':'man'}

 

 字典的键必须是唯一的,但是值不用唯一。键必须是不可变的,但是值不用。

1)值可变

Name=['Jack','Bob']
dic1={'Name':Name,'Age':22,'Sex':'man'}
print(dic1)
print(dic1['Name'])

 

输出结果

{'Name': ['Jack', 'Bob'], 'Age': 22, 'Sex': 'man'}
['Jack', 'Bob']

2)键不可变

info=['Name','Age']
dic1={info:'Jack','Age':22,'Sex':'man'}
print(dic1)

 

输出结果

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    dic1={info:'Jack','Age':22,'Sex':'man'}
TypeError: unhashable type: 'list'

 

2,访问字典的值

根据键来访问对应的值。

dic={'name':'Jack','age':22,'sex':'man'}
print(dic['name'])
print(dic['age'])

 

输出结果

Jack
22

 

若是字典中不存在要访问的键则会报错。

dic={'name':'Jack','age':22,'sex':'man'}
print(dic['school'])

 

输出结果

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    print(dic['school'])
KeyError: 'school'

 

 3,修改字典元素

dic={'name':'Jack','age':22,'sex':'man'}
dic['name']='Bob'
print(dic)

 

输出结果

{'name': 'Bob', 'age': 22, 'sex': 'man'}

 

 4,增加字典元素

dic={'Name':'Jack','Age':22,'Sex':'man'}
dic['School']='Harvard University'
print(dic)

 

输出结果

{'Name': 'Jack', 'Age': 22, 'Sex': 'man', 'School': 'Harvard University'}

 (2)也可以采用update函数

dic={'Name':'Jack','Age':22,'Sex':'man'}
dic.update(School='Harvard University')  #增加字典的键值对
print(dic)
dic.update(Name='LiSi')  #修改字典中的值
print(dic)

输出结果

{'Name': 'Jack', 'Age': 22, 'Sex': 'man', 'School': 'Harvard University'}
{'Name': 'LiSi', 'Age': 22, 'Sex': 'man', 'School': 'Harvard University'}

5,删除字典元素 

1)pop(x),删除指定的键x,如果不存在会报错

dic={'Name':'Jack','Age':22,'Sex':'man'}
dic.pop('Sex')
print(dic) 

输出结果

{'Name': 'Jack', 'Age': 22}

2)del 也可以删除指定的键,也可以删除字典

dic={'Name':'Jack','Age':22,'Sex':'man'}
del dic['Age']
print(dic)
del dic
print(dic) 

 

输出结果

{'Name': 'Jack', 'Sex': 'man'}
Traceback (most recent call last):
  File "test.py", line 5, in <module>
    print(dic)
NameError: name 'dic' is not defined

 

3)清空字典

dic.clear(),可以清空整个字典

dic={'Name':'Jack','Age':22,'Sex':'man'}
dic.clear()
print(dic)

 

输出结果

{} 

5,字典长度

dic={'Name':'Jack','Age':22,'Sex':'man'}
print(len(dic))

 

输出结果

3

6,查找键是否在字典中

dic={'Name':'Jack','Age':22,'Sex':'man'}
print('Name' in dic)
print('School' in dic)

输出结果

True
False

 7,将字典转换成其他类型

只是将字典的键保留了

dic={'Name':'Jack','Age':22,'Sex':'man'}
l=list(dic)   #将字典转换成列表
print(l)
t=tuple(dic)  #将字典转换成元组
print(t)
s=set(dic)  #将字典转换成集合
print(t)

 

输出结果

['Name', 'Age', 'Sex']
('Name', 'Age', 'Sex')
{'Name', 'Age', 'Sex'}

 

8,其他操作

dic={'Name':'Jack','Age':22,'Sex':'man'}

print(dic.keys())   #字典的键
print(dic.values())  #字典的值
d=dic.copy()   #复制字典
print(d)
for k,v in dic.items():  #字典内的元素(包括键和值)
    print(k,v)

输出结果

dict_keys(['Name', 'Age', 'Sex'])
dict_values(['Jack', 22, 'man'])
{'Name': 'Jack', 'Age': 22, 'Sex': 'man'}
Name Jack
Age 22
Sex man

 

posted @ 2019-01-02 21:04  扛把子毛  阅读(201)  评论(0编辑  收藏  举报