dict笔记

字典是一种容器类型的数据类型(序列),储存的数据以键值对的形式出现。
字典中的元素全部都是键值对。
字典是可变的,但是是无序的。
键是唯一的。
键值对:键:值(key:value)
key是形式,值才是真正要存的内容
键:理论上可以是任何不可变的数据类型,但实际开发的时候一般使用字符串作为key
值:任何数据类型

声明一个字典

创建一个字典变量

dict1 = {}
print(type(dict1))

dict2 = {'index': 1, 'data': 'name'}
print(dict2)
"""
将其他数据类型转换成字典
"""
dict3 = dict([(1, 2), (2, 3)])
print(dict3)

字典的增删查改

查:获取字典的元素的值

字典获取元素的值是通过key来获取的
字典[key]
字典.get(key)
区别:如果key不存在,前者报错,后者返回None
注意:如果key值确定存在,使用[]语法获取;不确定key值是否存在才使用get方法去获取值

person = {'name': 'Tom', 'age': '18', 'face': '66'}
print(person['name'])
print(person.get('asd'))

增\改元素:

通过key获取字典元素,然后赋值。当key本身就存在的时候,就是修改元素的值;不存在的时候就是给字典添加键值对。

person['height'] = 1.8
print(person)

person['age'] = 22
print(person)

删除:删除的是键值对

del dict[key] ----注意:key不存在会报错
dict.pop(key) ----会返回删除键值对对应的值

del person['face']
print(person)

age = person.pop('age')
print(person, age)

相关的数组属性

dict.keys():获取字典所有的key,返回值的类型是dict_key,但是可以把它当成列表来使用。
dict.values():获取字典所有的值。
dict.items():将字典中所有的键值对转换成一个一个的元组,key作为元组的第一个元素;value作为元组的第二个元素。

student_dict = {'name': 'GHope', 'studen_id': 'py180501', 'score': {'English': 90, 'Math': 99}}
keys = student_dict.keys()
print(keys)
# 遍历获取每个key
for key in keys:
    print(key)

print(student_dict.values())

print(student_dict.items())

遍历字典

直接遍历字典获取到的是所有的key(推荐使用)
遍历直接获取到key和value(不推荐使用)

for key in student_dict:
    print(key, student_dict[key])

for key, value in student_dict.items():
    print(key, value)

列表中有字典、字典中有字典、字典中有列表

声明一个变量,作用是用来存储一个班级的学生的信息。其中学生的信息包括姓名、性别、年龄、电话(至少存三个)。

class_information = []
dict_information = {}
while True:
    name = input('请输入你的名字:')
    dict_information['name'] = name
    sex = input('请输入你的性别:')
    dict_information['sex'] = sex
    age = input('请输入你的年龄:')
    dict_information['age'] = age
    tel = input('请输入你的电话:')
    dict_information['tel'] = tel
    class_information.append(dict_information)
    control = input("1、继续输入;\n 2、退出并输出信息")
    if control == '2':
        break
print(class_information)

class1 = [
    {'name': '张三', 'age': 23, 'sex': '男', 'tel': '15300022777'},
    {'name': '李四', 'age': 25, 'sex': '女', 'tel': '12779922'},
    {'name': '王二麻子', 'age': 20, 'sex': '男', 'tel': '12553'}
]

class1 = {
    'name': 'py1805',
    'address': '19-1',
    'students':[
        {'name': '张三', 'age': 18},
        {'name': '李四', 'age': 28},
        {'name': '王五', 'age': 20},
    ]
}

其它操作

formkeys()
dict.formkeys(序列,值):创建一个新的字典,序列中的元素作为key,value作为值
in
key in dict: 判断字典中是否存在指定的key
updata
dict1.updata(dict2):使用dict2中的键值对对dict1进行更新操作。其中,如果不存在就添加;存在就更新。

new_dict = dict.fromkeys(range(10), 100)
print(new_dict)

dict1 = {'1': 'a', '2': 'b'}
dict1.update({'1': 'aaa', '3': 'bbb'})
print(dict1)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,866评论 2 16
  • (一)、主要内容 1.1、列表 1.2、元祖 1.3、字典 1.4、集合列表 、字典、元祖、集合 (二)、列表 2...
    IIronMan阅读 3,592评论 0 7
  • 一,与你的相遇 我拿到了蓝铃高中的录取通知书。 到了入学那天,我拖着行李走到宿舍,没有一个人,我收拾好自己的床就去...
    Yukibili阅读 242评论 0 0
  • 工具:2B铅笔、橡皮、马克雷诺油性彩铅 时间:90分钟 一直都喜欢蓝色的东西,所以也偏爱蓝色的花,勿忘我就是我喜欢...
    蓝雪依梦阅读 496评论 2 2