1 字典基础

  1.1 字典是无序的对象的集合,通过键来存取,字典的键只能是不可变类型。

  1.3 字典的长度可变,异构,任意嵌套。

  1.2 python中不可变数据类型包括:数值类型,字符串和元组。

2 创建字典的四种方法

  2.1如果你可以事先可以拼出整个字典:

 dic = {'name': 'Bob', 'age': 40}

  2.2 如果你需要动态的一次创建字典的一个字段:

 dic = {}
dic['name'] = 'Bob'
dic['age'] = 20

  2.3 如果你想书写简单,而且字典的键是字符串:

 dic = dict(name='Bob', age=18)
print(dic)

  2.4 如果你需要在程序运行时通过序列构建字典:

 dic = dict([('name', 'Bob'), ('age', 18)])
print(dic)

3 字典的基本操作

  3.1 字典的基本操作之增

 # 通过动态的赋值来为字典增加键值对
dic = {}
dic['name'] = 'Bob'
dic['age'] = 60
print(dic) # {'name': 'Bob', 'age': 60} # 通过setdefault方法增加键值对
a = dic.setdefault('name', 'alex') # 当原字典中有'name',则不去修改,否则增加
b = dic.setdefault('age', 22) # 同上
c = dic.setdefault('sex', '男') # 同上
print(a, b, c) # Bob 60 男
print(dic) # {'name': 'Bob', 'age': 60, 'sex': '男'}

  3.2 字典的基本操作之查

 # 通过键来查看值
print(dic['name']) # Bob
print(dic['age']) #
print(dic['sex']) # 男 # 通过方法keys(),values(),items()
print(dic.keys()) # dict_keys(['name', 'age', 'sex'])
print(dic.values()) # dict_values(['Bob', 60, '男'])
print(dic.items()) # dict_items([('name', 'Bob'), ('age', 60), ('sex', '男')])

  3.3 字典的基本操作之改

 dic = {'name': 'Bob', 'age': 60, 'sex': '男'}
# 通过赋值方式来修改
dic['name'] = 'alex'
print(dic) # {'name': 'alex', 'age': 60, 'sex': '男'} # 通过方法update()来修改
dic2 = {'sex': '女', 'hobby': 'learn', 'country': 'China'}
dic.update(dic2) # 原来不存在的键值对追加,存在的键修改其值
print(dic) # {'name': 'alex', 'age': 60, 'sex': '女', 'hobby': 'learn', 'country': 'China'}

  3.3 字典的基本操作之删

 dic = {'name': 'Bob', 'age': 60, 'sex': '男'}
# 通过del删除字典中的元素或整个字典
del dic['name']
print(dic) # {'age': 60, 'sex': '男'}
del dic
# print(dic) # NameError: name 'dic' is not defined dic = {'name': 'Bob', 'age': 60, 'sex': '男'}
# 通过pop()方法
name = dic.pop('name')
print(name) # Bob
print(dic) # {'age': 60, 'sex': '男'}

4 字典中其他内置方法

  4.1 fromkeys()

 dic = dict.fromkeys(['key1', 'key2', 'key3'], 'values')
# 类似将字典中的键初始化为一个默认的值
print(dic) # {'key1': 'values', 'key2': 'values', 'key3': 'values'}
dic2 = dic.fromkeys(['key1', 'key2', 'key3'], ['values1', 'values2'])
print(dic2) # {'key1': ['values1', 'values2'], 'key2': ['values1', 'values2'], 'key3': ['values1', 'values2']}
dic2['key1'][0] = 'values3' # fromkeys()创建的字典,修改字典中的一个嵌套列表中的值,多有的键值都修改
print(dic2) # {'key1': ['values3', 'values2'], 'key2': ['values3', 'values2'], 'key3': ['values3', 'values2']}

  4.2 get()

 dic = {'name': 'Bob', 'age': 60, 'sex': '男'}
print(dic.get('name')) # Bob
print(dic.get('hobby')) # None 可以判断字典中是否有此键
print(dic.get('hobby', 'basketball')) # basketball

  4.3 copy()

    注:只是浅拷贝,只对顶层的拷贝

 dic = {'name': 'Bob', 'age': 60, 'sex': '男', 'hobby': ['read', 'basketball']}
dic2 = dic.copy() # {'name': 'Bob', 'age': 60, 'sex': '男', 'hobby': ['read', 'basketball']}
print(dic2)
dic['hobby'][0] = 'write'
print(dic2) # {'name': 'Bob', 'age': 60, 'sex': '男', 'hobby': ['write', 'basketball']}

5 字典的排序

  采用sorted()

 dic = {'b': 'b', 'a': 'a', 'c': 'c'}
print(dic)
for key in sorted(dic):
print(key, dic[key])

6 字典的遍历

 dic = {'name': 'Bob', 'age': 60, 'sex': '男'}
for key in dic:
print(key, dic[key]) for item in dic.items():
print(item) for i, v in dic.items():
print(i, v)

Python基础语法之字典的更多相关文章

  1. Python 基础语法(四)

    Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...

  2. Python 基础语法(二)

    Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...

  3. 吾八哥学Python(四):了解Python基础语法(下)

    咱们接着上篇的语法学习,继续了解学习Python基础语法. 数据类型大体上把Python中的数据类型分为如下几类:Number(数字),String(字符串).List(列表).Dictionary( ...

  4. python学习第三讲,python基础语法之注释,算数运算符,变量.

    目录 python学习第三讲,python基础语法之注释,算数运算符,变量. 一丶python中的基础语法,注释,算数运算符,变量 1.python中的注释 2.python中的运算符. 3.pyth ...

  5. python基础语法、数据结构、字符编码、文件处理 练习题

    考试范围 '''1.python入门:编程语言相关概念2.python基础语法:变量.运算符.流程控制3.数据结构:数字.字符串.列表.元组.字典.集合4.字符编码5.文件处理''' 考试内容 1.简 ...

  6. python基础语法及知识点总结

    本文转载于星过无痕的博客http://www.cnblogs.com/linxiangpeng/p/6403991.html 在此表达对原创作者的感激之情,多谢星过无痕的分享!谢谢! Python学习 ...

  7. 【转】Python基础语法

    [转]Python基础语法 学习一门编程语言,通常是学习该语言的以下几个部分的内容: 基础语法:如,变量的声明与调用.基本输出语句.代码块语法.注释等: 数据类型:通常都为 数字.字符串.布尔值.数组 ...

  8. Python基础语法题库

    引言: 语法练习包括Python基础语法.数据类型.字符编码和简单文件操作等内容. 正文(参考答案附录在题目下方): 1.Python 里用来告知解释器跳过当前循环中的剩余语句,然后继续进行下一轮循环 ...

  9. 『Python基础-10』字典

    # 『Python基础-10』字典 目录: 1.字典基本概念 2.字典键(key)的特性 3.字典的创建 4-7.字典的增删改查 8.遍历字典 1. 字典的基本概念 字典一种key - value 的 ...

随机推荐

  1. Java学习01-使用maven插件tomcat搭建web maven项目

    我使用社区版的IDEA,社区版的没有tomcat插件,只能使用maven插件进行tomcat的使用了,下面进入正题 一.pom.xml配置tomcat插件 <build> <fina ...

  2. windows 汇编

    int main(){ int a = 1; int c = 2; int b; __asm { MOV EAX, a; MOV EBX, c; ADD EAX, EBX; MOV b, EAX; } ...

  3. SQL查询操作

    有7个筛选条件任意一个条件都可以筛选.采用LINQ查询比较繁琐,且操作步骤增加,选择用SQL判断. public DataTable GetData(string cboCld, string cbo ...

  4. 远程连接工具rdcman

    介绍一个远程连接的工具RDCMan.RDCMan全称Remote Desktop Connection Manager(多远程桌面管理)是微软Windows Live体验团队的主要开发者 Julian ...

  5. gd_t结构 bd_t结构

    gd_t在u-boot-2018.07-fmxx/include/asm-generic/global_data.h中定义 typedef struct global_data {    bd_t * ...

  6. mysql时间函数操作

    Mysql时间转换函数 https://blog.csdn.net/w_qqqqq/article/details/88863269 mysql时间日期函数 https://www.cnblogs.c ...

  7. notepad++文档格式转化window、unix、MAC

    切换

  8. Java AtomicInteger类的使用方法详解_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 首先看两段代码,一段是Integer的,一段是AtomicInteger的,为以下: public class Samp ...

  9. jvm——CodeCache

    https://juejin.im/post/5c890f21f265da2d993dc692 CodeCache是热点代码的暂存区,经过即时编译器编译的代码会放在这里,它存在于堆外内存.除了JIT编 ...

  10. xgboost使用细节

    from http://blog.csdn.net/zc02051126/article/details/46771793 在Python中使用XGBoost 下面将介绍XGBoost的Python模 ...