字典
1.假如有一个列表:
li = [“Pyth”,“Java”,“C”]
li[0]=“Python”
li.sort()
2.假如统计学生信息,包括学号,姓名,年龄:
li = [[31502001,“xue1”,18],
[31502002,“xue2”,18],
…
31502nnn,“xuennn”,19]]
循环遍历,十分复杂
考虑字典
字典是列表以外Python中使用最灵活的内置数据类型
字典是一种可变的数据类型。
和列表的区别:
- 列表有序,字典无序
- 列表通过索引访问元素,字典通过键(key)访问元素
字典的基本格式:
dic = {
key: value1,key2: value2,...,keyn: valuen}
值可以取任意数据类型,但键不可以,必须为不可变类型数据,即key必须可哈希
可哈希—>不可变
不可哈希—>可变
特点:
- 1.key: value ,键值对之间用冒号(:)连接
- 2.key: value 组成字典的一个元素
- 3.键值对直尖用逗号(,)隔开
- 4.整个字典用花括号{}包裹
字典的创建
空字典
dic = {
}
print(type(dic))
<class 'dict'>
创建多元素字典
dic = {
'小明':{
'add':'杭州','phone':'110','age':18},
'小陈': {
'add': '上海', 'phone': '120', 'age': 19}}
强转
dic = dict(id=2019,name='Tom',age=18)
print(dic)
{
'id': 2019, 'name': 'Tom', 'age': 18}
zip()
key = ('id','name','age')
value = ('2019','Tom','18')
print(dict(zip(key,value)))
tp = tuple(zip(key,value))
print(tp,type(tp))
{
'id': '2019', 'name': 'Tom', 'age': '18'}
(('id', '2019'), ('name', 'Tom'), ('age', '18')) <class 'tuple'>
通过字典的fromkeys方法创建字典
格式:
dict.fromkeys(seq,val=None)
- 创建并返回一个字典
- 以seq中的元素作为该字典的键
- val的值作为该字典中所有键对应的初始值;如不提供。默认为None。
dic = dict.fromkeys('Hello',6666)
print(dic)
{
'H': 6666, 'e': 6666, 'l': 6666, 'o': 6666}
dic = dict.fromkeys(('Hello'