字典:dict

特点:

1>,可变容器模型,且可存储任意类型对象,字符串,列表,元组,集合均可;

2>,以key-value形式存在,每个键值 用冒号 : 分割,每个键值对之间用逗号 , 分割;

3>,通过key访问value;key与value是对应的,一个字典中每个key是唯一的,但value则没有现在;

4>,有序的,但在python3.6版本之前,字典是无序的。

1、定义空字典

name_dict = {}
name_dict = dict() # 一般用数据类型之间的转换

2、定义一个非空字典

name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"}

key--name, value --dasb, key:value-->"name":"dasb";

3,通过key访问value
name_dict = {"name": "dasb", "age": 35, "hobby": ["love sb", "love mlt", "love mlasb"]}
print(name_dict["name"])
hobby_list = name_dict["hobby"]
print(hobby_list)
print(hobby_list[0])

 4,增加一个元素

说明:如果key不存在,则新增。如果key存在则修改
name_dict = {"name": "dasb", "age": 35, "hobby": ["love sb", "love mlt", "love mlasb"]}
# key不存在新增
name_dict["sex"] = "zx"
print(name_dict)
# key存在则修改
name_dict["name"] = "csb"
print(name_dict)

5,字典中常用的方法之

clear():清空字典中所有元素

同样可使用此方法 类型的还有列表(list),集合(set)

name_dict = {"name": "dasb", "age": 35, "hobby": ["love sb", "love mlt", "love mlasb"]}
name_dict.clear()
print(name_dict)

6,字典中常用的方法之

formkeys():  初始化一个字典

说明:如果一个列表用foemkers转化为字典时,列表中的元素则转化为key键,如果转化时不加value,则key键对应的value为None,如果添加,value则为同一个添加的值,

例如:

name_dict = dict()
name_list = ["name", "age"]
name1_dict = dict.fromkeys(name_list)
print(name1_dict)
name2_dict = dict.fromkeys(name_list, 35)
print(name2_dict)

如果列表中的元素是以元组tuple的方式存在的,则可以直接用dict转化;

例如:

name_list = [("name", "dasb"), ("age", 35), ("hobby", ["love sb", "love mlt"])]
name_dict = dict(name_list)
print(name_dict)

7,字典中常用的方法之

get(key):通过key 获取value值,如果key不存在则返回None 
name_dict = {"name": "dasb", "age": 35, "hobby": ["love sb", "love mlt", "love mlasb"]}
name_value = name_dict.get("name") # 存在的key
name_value = name_dict.get("sex") # 不存在key,返回None
name_value = name_dict["sex"] # 不存在key,则会报:KeyError: 'sex'
print(name_value)

8,字典中常用的方法之

items():把字典中每一对key 和value 以元组的形式保存在列表中
例如:
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"}
print(name_dict.items())

利用for循环,获取key和value

第一种方法:

name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"}

for name in name_dict.items():
key, value = name
print(key, value)

第二种方法:

name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"}

for name in name_dict.items():

     key = name[0]
value = name[1] print(key, value)

9,字典中常用的方法之

keys():把字典中所有的key,保存在一个序列中
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"}
print(name_dict.keys())

也可以利用循环,通过Key键获取value

name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"}
print(name_dict.keys())
for key in name_dict.keys():
value = name_dict.get(key)
print(key,value)

10,字典中常用的方法之

pop(key):通过key删除字典中的元素
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"}
name_dict.pop("name")
print(name_dict)

11,字典中常用的方法之

popitem():默认删除字典中最后一个元素
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"}
name_dict.popitem()
print(name_dict)

12,字典中常用的方法之

setdefault():以元组的方式新增一个元素key不存在则新增元素,key存在则不做任何修改
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"}
name_dict.setdefault("sex", "中性")
name_dict.setdefault("name", "csb")
print(name_dict)

13,字典中常用的方法之

update():新增多个元素,如果key存在则更新,如果不存在则新增
name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"}
teacher_dict = {"age": 23, "eat": "sb", "phone": "123456789"}
name_dict.update(teacher_dict)
print(name_dict)

14,字典中常用的方法之

values():把字典中所有value值保存在一个序列中,用法同keys 
例如:

name_dict = {"name": "dasb", "age": 35, "hobby": "love sb"}
print(name_dict.values())
 

 

 

python之字典(dict)基础篇的更多相关文章

  1. 智普教育Python视频教程之入门基础篇,python笔记

    智普教育Python视频教程之入门基础篇,python笔记 print id()内存地址 type()变量类型 windows命令行下edit命令 python数据类型不需要指定类型 定义hostna ...

  2. Python(三)基础篇之「模块&面向对象编程」

    [笔记]Python(三)基础篇之「模块&面向对象编程」 2016-12-07 ZOE    编程之魅  Python Notes: ★ 如果你是第一次阅读,推荐先浏览:[重要公告]文章更新. ...

  3. Python(四)基础篇之「文件对象&错误处理」

    [笔记]Python(四)基础篇之「文件对象&错误处理」 2016-12-08 ZOE    编程之魅  Python Notes: ★ 如果你是第一次阅读,推荐先浏览:[重要公告]文章更新. ...

  4. Python学习笔记之基础篇(-)python介绍与安装

    Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...

  5. python中字典dict的操作

    字典可存储任意类型的对象,由键和值(key - value)组成.字典也叫关联数组或哈希表. dict = {' , 'C' : [1 , 2 , 3] } dict['A'] = 007 # 修改字 ...

  6. Python中字典dict

    dict字典 字典是一种组合数据,没有顺序的组合数据,数据以键值对形式出现 # 字典的创建 # 创建空字典1 d = {} print(d) # 创建空字典2 d = dict() print(d) ...

  7. Python学习之路基础篇--06Python基础+dict的学习

    字典和列表其实差不多,所说3.6 之前的版本字典是没有顺序的.是Python中唯一的映射数据类型,key 是可哈希(不可变数据类型),如元组.bool.int 和 str:value 是任意数据类型. ...

  8. Python学习笔记之基础篇(五)字典

    #数据类型划分:可变数据类型 不可变数据类型 #不可变数据类型 : 元组 bool int str --> 可哈希 #可变数据类型 list ,dict set --->不可哈希 ''' ...

  9. 【新手学Python】一、基础篇

    由于以前处理数据用Matlab和C,最近要处理大量文本文件,用C写实在是太繁琐,鉴于Python的强大文本处理能力,以及其在Deep Learning上有着很大优势,本人打算从即日起学习Python, ...

随机推荐

  1. 【转载】使用rdp协议访问远程Linux桌面

    使用rdp协议访问远程Linux桌面 2017年03月31日 16:23:49 太阳之影 阅读数:2169   一般情况下,如果需要登陆远程Linux系统,我们会使用ssh/telnet来完成,如果需 ...

  2. 面试阿里P6难在哪?(面试难点)

    对于很多没有学历优势的人来说,面试大厂是非常困难的,这对我而言,也是一样,出身于二本,原本以为就三点一线的生活度过一生,直到生活上的变故,才让我有了新的想法和目标,因此我这个二本渣渣也奋斗了起来,竟拿 ...

  3. sed -i '14s/yes/no/' tftp

    修改tftp 内容 # cd /etc/xinetd.d/[root@localhost xinetd.d]# cp tftp tftp.bak[root@localhost xinetd.d]# c ...

  4. 利用jink的驱动软件j-flash 合并两个hex的方法,bootloader+app -(转载)

    第一步:先打开第一个hex文件, 第二步:选择 "Merge data file",合并文件 第三步:两个工程有可能地址相同,会有如下提示:(如果在编译的时候设置好Flash的地址 ...

  5. linux中级之lvs配置(命令)

    一.nat模式配置 环境说明: DS:nat网卡(自动获取也可以,充当vip): 192.168.254.13 255.255.255.0 vmnet3网卡(仅主机): 172.16.100.1 25 ...

  6. 9.4-6 kill & killall & pkill

    kill:终止进程 能够终止你希望停止的进程. kill 命令的参数选项及说明 -l    列出全部的信号名称 -p    指定kill命令只打印相关进程的进程号,而不发送任何信号 -s    指定要 ...

  7. session.flush()与session.clear()区别与使用环境

    session是有一级缓存的,目的是为了减少查询数据库的时间,提高效率,生命周期与session是一样的 session.flush() 是将session的缓存中的数据与数据库同步 事物提交失败 缓 ...

  8. 分布式锁中的王者方案-Redisson

    上篇讲解了如何用 Redis 实现分布式锁的五种方案,但我们还是有更优的王者方案,就是用 Redisson. 缓存系列文章: 缓存实战(一):20 图 |6 千字|缓存实战(上篇) 缓存实战(二):R ...

  9. Google Hacking 搜索引擎攻击与防范

    Google Hacking,有时也会被称为 Google dorking,是一种利用谷歌搜索的高级使用方式进行信息收集的技术.这个概念最早在2000年由黑客 Johnny Long 提出并推广,一系 ...

  10. K8s - Kubernetes重要概念介绍(Cluster、Master、Node、Pod、Controller、Service、Namespace)

    K8s - Kubernetes重要概念介绍(Cluster.Master.Node.Pod.Controller.Service.Namespace)       Kubernetes 是目前发展最 ...