我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python 学习日记第三篇 -- 字典

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python 学习日记第三篇 -- 字典

一、字典

  python中的字典不是序列,而是一种映射;不通过位置而是通过键存储。字典是可变的。

  1、字典的映射操作

#字典的创建
>>> d1 = {'k1':'v1','k2':'v2'}
>>> d2 = dict(k1='v1',k2='v2')

使用{}定义字典,以key:value形式存储数据,在字典中key是唯一的
>>> one_dict = {'name':"jym",'age':23,'addr':'xinjiang'}
#通过key查找数据
>>> one_dict['name']
'jym

#修改
>>> one_dict['name'] = "Jym"
>>> print(one_dict)
{'name': 'Jym', 'age': 23, 'addr': 'xinjiang'}
>>> one_dict['age'] += 1
>>> print(one_dict)
{'name': 'Jym', 'age': 24, 'addr': 'xinjiang'}

#添加,直接赋值不在字典中的键,会创建该键值
>>> one_dict['job'] = "ops"
>>> print(one_dict)
{'name': 'Jym', 'age': 24, 'addr': 'xinjiang', 'job': 'ops'}

#字典的嵌套
>>> two_dict = {'name':{'first':"jy",'last':"meng"},'age':32,'addr':['sh','xj']}
>>> two_dict['name']['first']
'jy'
>>> two_dict['addr'][0]
'sh'

 

   2、字典的方法

#清空字典
>>> two_dict.clear()
>>> print(two_dict)
{}

#删除方法一
>>> two_dict = {'name':{'first':"jy",'last':"meng"},'age':32,'addr':['sh','xj']}
>>> two_dict['name'].pop('first')
'jy'
>>> print(two_dict)
{'name': {'last': 'meng'}, 'age': 32, 'addr': ['sh', 'xj']}

#删除方法二
>>> del two_dict['name']['last']
>>> print(two_dict)
{'name': {}, 'age': 32, 'addr': ['sh', 'xj']}

#获取字典中value,使用get方法好处是如果你要获取的key值不存在,不报错,默认返回None,可自行给值
>>> get_dict = two_dict.get('age')
>>> print(get_dict)
32
>>> two_dict = {'name':{'first':"jy",'last':"meng"},'age':32,'addr':['sh','xj']}
>>> print(two_dict.get('job'))
None
>>> print(two_dict.get("job",'replace'))
replace

#通过一个字典更新另一个字典,如果两个字典键值相同,那么以要被更新的字典为准
>>> two_dict.update(one_dict)
>>> print(two_dict)
{'name': 'Jym', 'age': 24, 'addr': 'xinjiang', 'job': 'ops'}

#将字典转变为列表(少用)
>>> print(two_dict)
{'name': 'Jym', 'age': 24, 'addr': 'xinjiang', 'job': 'ops'}
>>> print(two_dict.items())
dict_items([('name', 'Jym'), ('age', 24), ('addr', 'xinjiang'), ('job', 'ops')])

#取字典的values值
>>> print(two_dict.values())
dict_values(['Jym', 24, 'xinjiang', 'ops'])

#取字典的keys值
>>> print(two_dict.keys())
dict_keys(['name', 'age', 'addr', 'job'])

#判断key值是否在字典中
>>> 'name' in two_dict
True

#取一个key值,如果存在,即取出,如果不存在,就在字典中加入该kv值
>>> print(two_dict.setdefault('name'))
Jym
>>> print(two_dict.setdefault('name1',"newkv"))
newkv
>>> print(two_dict)
{'name': 'Jym', 'age': 24, 'addr': 'xinjiang', 'job': 'ops', 'name1': 'newkv'}

#给定列表,将列表中的值取出作为key生成字典
>>> print(dict.fromkeys([1,2,3,4],'newvalue'))
{1: 'newvalue', 2: 'newvalue', 3: 'newvalue', 4: 'newvalue'}

#随机删除字典中的kv值(慎用)
>>> two_dict.popitem()
('name1', 'newkv')
>>> print(two_dict)
{'name': 'Jym', 'age': 24, 'addr': 'xinjiang', 'job': 'ops'}
>>> two_dict.popitem()
('job', 'ops')
>>> print(two_dict)
{'name': 'Jym', 'age': 24, 'addr': 'xinjiang'}

   

   3、字典排序

第一种方法
#将字典的key值取出换为列表存储
sort_list = list(id_db.keys())
#使用列表的方法排序
sort_list.sort()
#按照顺序打印字典
for key in sort_list:
    print(key,id_db[key])
结果:
C:\Python36\python36.exe C:/Users/Administrator/PycharmProjects/cto3/day2/dictionary.py
659001199601105413 {'name': 'jonny', 'age': 18, 'addr': 'xj'}
659001199701105413 {'name': 'david', 'age': 17, 'addr': 'sh'}
659001199801105413 {'name': 'george', 'age': 16, 'addr': 'gz'}
       
第二种方法
for key in sorted(id_db):
    print(key,id_db[key])


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python 学习日记第三篇 -- 字典

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python 学习日记第三篇 -- 字典

一、字典  python中的字典不是序列,而是一种映射;不通过位置而是通过键存储。字典是可变的。  1、字典的映射操作#字典的创建>>> d1 = {'k1':'v1','k2':'v2'}>>> d2 = dict(k1='v1',k2=
2023-01-31

Python 学习日记第二篇 -- 列表

一、列表    列表是一个可以包含所有数据类型的对象的位置有序集合,它是可以改变的。   1、列表的序列操作(Python3)>>> one_list = [1,2,3,4]>>> two_list = ["jonny","jery","d
2023-01-31

Redis学习笔记(三) 字典

Redis的字典使用哈希表作为底层实现,一个哈希表中可以有多个哈希表节点,而每个哈希节点就保存在字典中的一个键值对。redis字典所用的哈希表由disht结构定义。typedef struct dictht{ dictEntry **table;//哈希
Redis学习笔记(三) 字典
2014-05-20

[Python]学习基础篇:字典

字典字典这个数据结构的功能和它的名字一样,根据key得到value值。字典的定义 方法: dict={‘key1’:value1,’key2’:value2……..} 对于字典,key值在字典中不能重复,若出现重复,将更改原有的key对应的
2023-01-31

python学习笔记:字典

python版本:Python 2.6.6 系统环境:CentOS release 6.2 x86_64 本文参考了互联网上前辈的一些文章 一、字典是python中最灵活的内置数据结构类型,如果把列表看作是有序的对象集合,那么字典就是无序的
2023-01-31

Python学习笔记8——列表、字典、元

参考书籍:《Learning_Python_5th_Edition.pdf》,一本英文书呢,我上传到百度网盘吧,请点击这里,密码是:kym3Lists 列表The Python list object is the most general
2023-01-30

Python的dict字典结构操作方法学习笔记

一.字典的基本方法 1.新建字典 1)、建立一个空的字典>>> dict1={} >>> dict2=dict() >>> dict1,dict2 ({}, {}) 2)、新建的时候初始化一个值>>> dict1={1:'a',2:'
2022-06-04

Python中列表、字典、元组数据结构的简单学习笔记

列表 列表是Python中最具灵活性的有序集合对象类型。与字符串不同的是,列表可以包含任何类型的对象:数字、字符串甚至其他列表。列表是可变对象,它支持原地修改的操作。 Python的列表是:任意对象的有序集合通过偏移读取可变长度、异构以及任
2022-06-04

Python常用的内置序列结构(列表、元组、字典)学习笔记

列表与元组 列表用大括号[]表示,元组用圆括号()表示。 列表可以修改,字符串与元组不可修改。 元组的分片还是元组,列表的分片还是列表。 1.列表方法:name=["zhang3","li4","wang5"] name.append("g
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录