前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Python 字典

Python 字典

作者头像
IT架构圈
发布于 2018-06-01 03:23:11
发布于 2018-06-01 03:23:11
1.6K00
代码可运行
举报
文章被收录于专栏:IT架构圈IT架构圈
运行总次数:0
代码可运行

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dic = {'name':'jin','age':18,'sex':'male'}
print(dic)#{'name': 'jin', 'sex': 'male', 'age': 18}

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
##第一种:有则覆盖,无则添加
# dic = {'name':'jin','age':18,'sex':'male'}
# dic['hobby'] = 'girl'
# print(dic)

输出{'age': 18, 'hobby': 'girl', 'sex': 'male', 'name': 'jin'}

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# dic['name'] = 'wusir'
# print(dic)
#{'age': 18, 'sex': 'male', 'name': 'wusir'}

第二种:serdefult 无则添加,有则不变

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dic = {'name':'jin','age':18,'sex':'male'}
# dic.setdefault('hobby')
# print(dic)#{'sex': 'male', 'hobby': None, 'age': 18, 'name': 'jin'}
#'hobby'是键,而不是值,所以字典里会出现'hobby':None
# dic.setdefault('hobby','girl')
# print(dic)#{'name': 'jin', 'hobby': 'girl', 'age': 18, 'sex': 'male'}
#键值对 'hobby':girl添加到字典了、原字典没有hobby
# dic.setdefault('name','ritian')
# print(dic)#{'age': 18, 'name': 'jin', 'sex': 'male'}
#原字典中有k,name'所以不变

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#pop  有返回值
# dic = {'name':'jin','age':18,'sex':'male'}
# print(dic.pop('age'))##返回所删除键值对的age值18
# print(dic)
# dic.pop('hobby')##报错
# print(dic.pop('hobby',None))##设定返回的键值,当hobby不存在时,返回None

##clear 清空
# dic = {'name':'jin','age':18,'sex':'male'}
# dic.clear()
# print(dic)#{}清空字典里面所有键值对

##del
# dic = {'name':'jin','age':18,'sex':'male'}
# del dic
# print(dic)#NameError: name 'dic' is not defined,通过del dic,已删除字典dic

# dic = {'name':'jin','age':18,'sex':'male'}
# del dic['name']
# print(dic)#{'age': 18, 'sex': 'male'},删除dic里面‘name’的键值对

# dic = {'name':'jin','age':18,'sex':'male'}
# print(dic.popitem())
# print(dic)#每次随机删除dic里面的键值对

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# dic = {"name":"jin","age":18,"sex":"male"}
# dic['name'] = '太白'
# print(dic)#{'name': '太白', 'sex': 'male', 'age': 18}更改键name的值
# 两个字典的改
# dic = {"name":"jin","age":18,"sex":"male"}
# dic2 = {"name":"alex","weight":75}
# dic2.update(dic)#将dic键值对,覆盖并添加到dic2
# print(dic)#{'age': 18, 'name': 'jin', 'sex': 'male'}
# print(dic2)#{'age': 18, 'sex': 'male', 'name': 'jin', 'weight': 75}

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# dic = {"name":"jin","age":18,"sex":"male"}

# print(dic['name'])#jin 查键所对应的值jin
# print(dic['name1'])#KeyError: 'name1'如果查看没有的键,则会显示错误信息
# print(dic.get('name'))#jin
# print(dic.get('name1'))#没有此键时默认返回None
# print(dic.get('name1','无此键值对'))#无此键值对,后面可以设置···

其它方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#key() values()  item()
dic = {"name":"jin","age":18,"sex":"male"}
# print(dic.keys(),type(dic.keys()))#查看dic的键keys
# print(dic.keys())#
# for i in dic.keys():
#     print(i)

列出dic的所有键

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# for i in dic:
#     print(i)

# li = list(dic.keys())#以列表的形式查看dic键
# print(li)
# print(dic.values())#值

# for i in dic.values():#列出dic的键值
#     print(i)
#
#items 随机打出dic的键值对

# print(dic.items())#打出dic的键值对,顺序随机
#dict_items([('age', 18), ('sex', 'male'), ('name', 'jin')])

# for i in dic.items():#
#         print(i,type(i))
# ('name', 'jin') <class 'tuple'>
# ('sex', 'male') <class 'tuple'>
# ('age', 18) <class 'tuple'>
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程坑太多 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SQL Server数据库中导入导出数据及结构时主外键关系的处理
  软件开发中,经常涉及到不同数据库(包括不同产品的不同版本)之间的数据结构与数据的导入导出。处理过程中会遇到很多问题,尤为突出重要的一个问题就是主从表之间,从表有外检约束,从而导致部分数据无法导入。
张传宁IT讲堂
2019/09/17
1.9K0
SQL Server数据库中导入导出数据及结构时主外键关系的处理
SQL SERVER几种数据迁移/导出导入的实践
SQLServer提供了多种数据导出导入的工具和方法,在此,分享我实践的经验(只涉及数据库与Excel、数据库与文本文件、数据库与数据库之间的导出导入)。 (一)数据库与Excel 方法1: 使用数据库客户端(SSMS)的界面工具。右键选择要导出数据的数据库,选择“任务”——“导出数据”,下图1,按照向导一步一步操作即可。而导入则相反,导入时,SQLServer会默认创建一张新表,字段名也默认跟导入的Excel标题一样,并且会默认字段数据类型等。当然在可以在向导进行修改。需要注意的是如果标题不是英文而是中文
逸鹏
2018/04/10
8.6K0
SQL SERVER几种数据迁移/导出导入的实践
SQL Server 复制进阶:Level 1 - SQL Server 复制
塞巴斯蒂安·梅内,2012/12/26 关于系列 本文是属于Stairway系列:Stairway to SQL Server Replication SQL复制可以解决运行数据库驱动的应用程序中的许多问题。 出版/订阅者模型并不完全容易理解,脚本和监控复制系统的复杂性需要考虑。 在这里,最后是一系列文章,注意为所有类型的SQL Server复制生成一个无行话的方法。 级别1:SQL Server复制简介 主要条目:rep-li-ca-tion 发音:?re-pl? - 'ka-sh?n \ 功能:名词 日
Woodson
2018/07/19
2.9K0
powerdesigner 15 如何导出sql schema
PowerDesigner导出所有SQL脚本 操作:Database=>Generate Database PowerDesigner怎么导出建表sql脚本 1 按照数据库类型,切换数据库。 Database-> Change Current DBMS... 2 生成sql脚本 Database -> Database Generation 的Preview选项卡 点击保存按钮,保存产生的sql脚本到本地。 【注意】: 1 本人使用的powerDesigner是15.2版本。 2 产生出的sql脚本一般会有
Java学习123
2018/05/16
1.8K0
经典SQL语句大全之基本函数
1,datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格 2,substring(expression,start,length) 取子串,字符串的下标是从“1”,start为起始位置,length为字符串长度,实际应用中以len(expression)取得其长度 3,right(char_expr,int_expr) 返回字符串右边第int_expr个字符,还用left于之相反 4,isnull( check_expression , replacement_value )如果check_expression為空,則返回replacement_value的值,不為空,就返回check_expression字符操作类
陈珙
2018/09/12
7410
MySql基础-笔记12 -重复数据处理、SQL注入、导入导出数据
读取不重复的数据可以在 SELECT 语句中使用 DISTINCT 关键字来过滤重复数据。
虫无涯
2023/01/31
1.4K0
SQLServer导出数据库字典
点击导出向导后会出现以下提示,我们选择【Excel文件(2007或以上版本)(*.xlsx)】格式进行导出,单选选择后点击下一步。
红目香薰
2022/11/30
2K0
SQLServer导出数据库字典
SQLyog 12.0.8.0 中文破解版
SQLyog中文版是一款专业的图形管理软件,SQLyog操作简单,功能强大,能够帮助用户轻松管理自己的MYSQL数据库,SQLyog中文版支持多种数据格式导出,可以快速帮助用户备份和恢复数据,还能够快速地运行SQL脚本文件,为用户的使用提供便捷。
凯哥Java
2019/06/28
25K0
SQLyog 12.0.8.0 中文破解版
数据字典生成工具之旅(8):SQL查询表的约束默认值等信息
本文主要介绍了数据字典生成工具在.NET平台下的实现,通过实例讲解了如何使用该工具对数据库进行查询,并生成数据字典。同时还介绍了在工具中如何自定义输出内容,以及如何使用该工具对数据库表进行批量操作。
用户1168362
2018/01/05
1.1K0
数据字典生成工具之旅(8):SQL查询表的约束默认值等信息
如何在SQL Server中将表从一个数据库复制到另一个数据库
在某些情况下,作为DBA,您需要将模式和特定表的内容从数据库复制到同一实例中或在不同的SQL实例中,例如从生产数据库中复制特定表到开发人员以进行测试或排除故障。 SQL Server提供了许多方法,可以用来执行表的数据和模式复制过程。为了研究这些方法中的每一个,我们将考虑下面的场景: 托管SQL服务器:localhost。这两个数据库都驻留在同一个SQL Server 2014实例中。 源数据库:AdventureWorks2012。 目标数据库:SQLShackDemo。 将从源数据库复制到目标数据库的表
程序你好
2018/07/20
8.4K0
SQL之经典SQL语句大全
经典SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name  2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack  4
互联网金融打杂
2018/04/03
1.4K0
SQLyog中文版安装教程「建议收藏」
SQLyog中文版是一款专业的图形管理软件,SQLyog操作简单,功能强大,能够帮助用户轻松管理自己的MYSQL数据库,SQLyog中文版支持多种数据格式导出,可以快速帮助用户备份和恢复数据,还能够快速地运行SQL脚本文件,为用户的使用提供便捷。
全栈程序员站长
2022/09/01
2K0
MS SQL SERVER导出表结构到Excel
在结果就能看到数据库所有表的结构,这个时候只要全选,然后右击出来属性框,选择将结果另存为,这个时候您只要选择导出CSV,然后新建一个Excel表格,在菜单栏选择数据,再选择自文本,后面的大家可以自己的需求自行处理了。
jamesjiang
2022/11/20
1.5K0
SQL SERVER 2000数据库置疑 紧急模式
SQL SERVER 2000数据库,服务重启之后系统库以外的其它库都会出现置疑(置疑之前没有备份的库。除非是置疑前一秒刚备份完,或者是备份完没有再使用,可以直接恢复):
全栈程序员站长
2022/09/23
3.1K1
SQL Server2000安全设置内容
查看存储过程对应文件名命令:sp_helpextendedproc “存储过程名”
全栈程序员站长
2021/04/28
7490
利用虚拟硬盘(把内存当作硬盘)来提高数据库的效率(目前只针对SQL Server 2000)可以提高很多
      虚拟硬盘:就是把内存当作硬盘来用,比如有2G的内存,那么可以拿出来1G的内存当作硬盘来用。       自从知道了“虚拟硬盘”这个东东,我就一直在想如何才能把这个虚拟硬盘发挥到极致,上一篇也写了一些简单的应用,当然提高的效率并不多,并不是很理想。我最想提高的是提高数据库的读取速度,也就是提高分页效率。一开始是想把数据库文件放到虚拟硬盘里面,这样读取速度不就快乐吗?但是当我把一个250万条记录的数据库放在了虚拟硬盘上做测试后,发现效果并不理想。       250万条记录,利用主键排序(聚集索引)
用户1174620
2018/02/26
1.7K0
SQL Server学习笔记
哈喽,大家好呀!这里是码农后端。本篇复习一下SQL Server数据库的数据定义DDL和数据操纵DML的相关知识。
reload
2024/05/02
1210
SQL Server学习笔记
mysqldump 导出数据库各参数详细说明
mysqldump是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等。
大道七哥
2019/09/10
2.2K0
探索SQL Server元数据(一)
  在数据库中,我们除了存储数据外,还存储了大量的元数据。它们主要的作用就是描述数据库怎么建立、配置、以及各种对象的属性等。本篇简单介绍如何使用和查询元数据,如何更有效的管理SQLServer 数据库。
用户1217611
2018/08/03
9260
探索SQL Server元数据(一)
数据库约束-主键约束-唯一约束-非空约束-默认值
约束其实就是一种限制,用于修饰表中的列. 通过这种限制来保证表中数据的正确性、有效性和完整性。
Devops海洋的渔夫
2022/01/17
6.4K0
数据库约束-主键约束-唯一约束-非空约束-默认值
推荐阅读
相关推荐
SQL Server数据库中导入导出数据及结构时主外键关系的处理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档