字典

作者: Vector_Wan | 来源:发表于2019-05-02 12:01 被阅读0次

key ---> value

info = {}
type({})
dict

访问

键: 值

使用 字典名 访问根据 进行访问。

info = {'name': '刘强东', 'age': 45, 'id': 232323232, 'addr': '北京'}
info
{'name': '刘强东', 'age': 45, 'id': 232323232, 'addr': '北京'}
print(info['name'])

print(info['sex']) # 访问不存在的键会报错
刘强东



---------------------------------------------------------------------------

KeyError                                  Traceback (most recent call last)

<ipython-input-6-0cbb0eea6a56> in <module>
      1 print(info['name'])
      2 
----> 3 print(info['sex']) # 访问不存在的键会报错


KeyError: 'sex'

当不确定字典中是否存在某个 key 而且还要获取其value,可以使用 dic.get('key', 默认值) 方法。

age = info.get('age')
print(age)

# 如果键不存在返回 None 或 设置默认值
mail = info.get('mail')
print(mail)
mail2 = info.get('mail', '122@jingdong.com')
print(mail2)
# 如果 key 已经存在 设置的默认值无效

45
None
122@jingdong.com

修改

info = {'name': '刘强东', 'age': 45, 'id': 232323232, 'addr': '北京'}
info['name'] = '马云'
print(info)
{'name': '马云', 'age': 45, 'id': 232323232, 'addr': '北京'}

添加

info = {'name': '刘强东', 'age': 45, 'id': 232323232, 'addr': '北京'}
info['sex'] = '男性'
print('添加后:', info)
添加后: {'name': '马云', 'age': 45, 'id': 232323232, 'addr': '北京', 'sex': '男性'}

删除

del dic

dic.clear()

# 根据 key 删除
info = {'name': '刘强东', 'age': 45, 'id': 232323232, 'addr': '北京'}
del info['name']
print(info)

del info
print(info)
{'age': 45, 'id': 232323232, 'addr': '北京'}



---------------------------------------------------------------------------

NameError                                 Traceback (most recent call last)

<ipython-input-19-c3d2df30c610> in <module>
      5 
      6 del info
----> 7 print(info)


NameError: name 'info' is not defined
info = {'name': '刘强东', 'age': 45, 'id': 232323232, 'addr': '北京'}
info.clear()
print('删除后:', info)
删除后: {}

字典的常用操作

<1> len() 获取键值对的个数

info = {'name': '刘强东', 'age': 45,
        'id': 232323232, 'addr': '北京'}
print(len(info)) # 键值对的个数
4

<2> 通过 字典名 获得字典的信息

dic.key()

dic.values()

dic.items()
# keys
keys = info.keys()
print(keys)
dict_keys(['name', 'age', 'id', 'addr'])
# value
values = info.values()
print(values)
dict_values(['刘强东', 45, 232323232, '北京'])
# (keys value)  返回的是元组的字典
items = info.items()
print(items)
dict_items([('name', '刘强东'), ('age', 45), ('id', 232323232), ('addr', '北京')])
info = {'name': '刘强东', 'age': 45,
        'id': 232323232, 'addr': '北京'}
for key, value in info.items():
    print(key,'===>',value)
name ===> 刘强东
age ===> 45
id ===> 232323232
addr ===> 北京


字典解析

创建一个班级的分数

from random import randint
grades = {'Student{}'.format(i):randint(50,100) for i in range(1, 21)}
print(grades)
{'Student1': 83, 'Student2': 76, 'Student3': 64, 'Student4': 55, 'Student5': 74, 'Student6': 59, 'Student7': 64, 'Student8': 76, 'Student9': 90, 'Student10': 58, 'Student11': 55, 'Student12': 76, 'Student13': 69, 'Student14': 79, 'Student15': 64, 'Student16': 94, 'Student17': 98, 'Student18': 50, 'Student19': 63, 'Student20': 98}

筛选出高于 90 分的人

d = {k:v for (k, v) in grades.items() if v >= 90}
print(len(d))
print(d)
4
{'Student9': 90, 'Student16': 94, 'Student17': 98, 'Student20': 98}
e = [v for (k, v) in grades.items() if v >= 90]
print(e)
f = [v for v in grades.values() if v >= 90]
print(f)
[90, 94, 98, 98]
[90, 94, 98, 98]

相关文章

  • day9-课程总结

    1.字典 增:字典[key] = 值; 字典.setdefaule(key, 值);字典.update(字典)删:...

  • swift--字典

    创建字典 字典的基本操作 遍历字典 字典合并

  • Swift学习系列 字典的使用

    字典的概念 字典的初始化 字典元素的基本操作 字典的基本操作 字典的遍历 字典合并

  • 字典

    创建字典 访问字典中的值 修改、添加字典 修改字典中的值 在末尾增添新的键/值 删除字典元素 删除字典 清空字典 ...

  • 新2019计划:python学习-字典【4】

    字典 本篇章讲述数据结构字典,主要围绕如何访问字典,如何修改字典,如何删除字典某元素,如何遍历字典,字典的常见方法...

  • Swift 基础笔记 - 字典

    字典 定义同样使用 [] 定义字典let 不可变字典var 可变字典 定义空字典 字典常用操作赋值直接使用dict...

  • day8-函数基础

    2.字典 2.1操作字典 2.1.1. clear 字典.clear() 清空字典 2.1.2. copy 字典2...

  • Swift字典

    字典的定义 字典的增删改查 字典的遍历 字典的合并

  • day8-总结

    1.字典相关方法 字典.clear() - 清空字典(删除字典中所有的键值对) 2.copy 字典.copy()-...

  • 字典

    本节大纲 字典的定义与特性 字典的常用操作 字典的遍历 字典的定义与特性 字典的常用操作 字典的遍历-案例 扩展-...

网友评论

      本文标题:字典

      本文链接:https://www.haomeiwen.com/subject/svknnqtx.html