Python 基本序列-字典

字典(dict)是"键-值 对"的无序可变序列,字典中的每个元素包含两部分,"键"和"值"。

字典中的"键"可以是Python中任意不可变的数据,但不能使用列表集合字典作为键,因为这些对象是可变的。

字典中的键不允许重复。

字典作为序列的一种,同样具有以下几个用法

  • key in dict:检查dict中是否包含键为k的项
  • len(d):返回d(字典对象)中项的数量;

但是也有些许不同

  • 字典键的类型更丰富(任何不可变数据)
  • 修改key对应的value,若key不存在,则直接创建
  • key in dict 是根据“键”来判断是否在字典中,而不是值,也不是键值对

字典的创建:

1.直接创建

t = { "a" : 1, "b": 2 }

2.利用dict函数创建

# 第一种形式
d = dict (name = "dong", age = 37) # 注意这个地方键的字符串类型没加引号
print(d)
# 输出 {'age':37,'name':'dong'} # 第二种形式 搭配zip函数 将列表生成的元祖打包成字典
keys = ['a' , 'b' , 'c']
values = [1 , 2 , 3]
tuple_t = zip(keys, values)
print(tuple_t)
# 输出 (['a' , 'b' , 'c'], [1 , 2 , 3])
d = dict (tuple_t)
print(d)
# 输出 {'a' : 1 , 'b' : 2 , 'c' : 3}

字典的读取:

1.直接读取

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
print(dict_t[a])
# 输出 1

这种访问方式比较直接,但是不安全。如果指定的"键"不存在,则会抛出异常

2.利用get()函数间接读取

使用get()函数获取指定“键”对应的值,并且在“键”不存在时返回指定值,如果没有指定值,则默认返回None

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
print(dict_t.get('a'))
# 输出 1
print(dict_t.get('d'))
# 输出 None
print(dict_t.get('d', 'NOT FOUND'))
# 输出 'NOT FOUND'

3.利用items()方法返回一个字典的“键-值 对”列表(iteritems返回一个迭代器对象)

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
for i in dict_t.items():
print(i)
# 输出 ('a', 1)
# ('b', 2)
# ('c', 3)

同样,也可以利用keys(),values()分别返回两个键和值的列表进行访问(iterkeys() , itervalues()都返回一个迭代器对象,而不是列表)

4.利用pop()返回并删除一个指定"键"元素

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
t = dict_t.pop('c')
# 输出 3
print(t)
# 输出 {'a': 1, 'b': 2}
print(dict_t)

5.利用popitem()随机返回并删除一个元素

字典元素的修改与删除:

1.直接根据"键"来修改,若字典中该"键"不存在,则创建一个新的"键-值 对"

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
print(dict_t)
dict_t['d']=4
print(dict_t)
# 输出 {'a': 1, 'b': 2, 'c': 3, 'd': 4}

2.利用update(dict),将另一个字典的"键-值 对"一次性加到当前字典对象

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
t = {'d':4}
dict_t.update(t)
print(dict_t)
# 输出 {'a': 1, 'b': 2, 'c': 3, 'd': 4}

3.利用del()删除一个指定"键"元素

Python基本序列-字典的更多相关文章

  1. Python列表,元组,字典,序列,引用

    1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...

  2. python学习笔记(一)元组,序列,字典

    python学习笔记(一)元组,序列,字典

  3. Python数据类型(字典和集合)

    1.5 Dictionary(字典) 在Python中,字典用放在花括号{}中一系列键-值对表示.键和值之间用冒号分隔,键-值对之间用逗号分隔. 在字典中,你想存储多少个键-值对都可以.每个键都与一个 ...

  4. python入门14 字典dict

    字典dict是无序的key:value格式的数据序列 #coding:utf-8 #/usr/bin/python """ 2018-11-11 dinghanhua 字 ...

  5. Python基础知识---字典

    现在在实习期间,好久没用Python了,今天在做Java项目时用的HashMap让我联想到了Python中的字典,就写一些Python字典的知识吧,复习复习. 字典:  key --> valu ...

  6. python基础之字典dict和集合set

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html python基础之字典dict和集合set 字典dic ...

  7. python中 字符 字典 列表之间的转换

    1 字典 转 字符 定义一个字典:dict = {'name': 'python', 'age': 7}字典转字符 可以使用str强制转换 如: str(dict) 此时dict的类型就是字符型了 2 ...

  8. python集合与字典的用法

    python集合与字典的用法 集合: 1.增加  add 2.删除   •del 删除集合 •discard(常用)删除集合中的元素  #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...

  9. python之路--字典

    一. 字典 字典是以key:value的形式来保存数据的,用{}表示 字典的增删改查 字典的增加 dic = {"意大利": "李云龙", "美国&q ...

随机推荐

  1. ElasticSearch6.0 高级应用之 多字段聚合Aggregation(二)

    ElasticSearch6.0 多字段聚合网上完整的资料很少 ,所以作者经过查阅资料,编写了聚合高级使用例子 例子是根据电商搜索实际场景模拟出来的 希望给大家带来帮助! 下面我们开始吧! 1. 创建 ...

  2. asp.net string有多行文字

    用如下格式设置

  3. 深入理解Feign之源码解析

    转载请标明出处: 本文出自方志朋的博客 什么是Feign Feign是受到Retrofit,JAXRS-2.0和WebSocket的影响,它是一个jav的到http客户端绑定的开源项目. Feign的 ...

  4. oracle对三个列求sum

    oracle数据库对test_table表的三个列count1,count2,count3求sum的两种sql,做个记录 第一种 select sum (case when count1 is not ...

  5. rest-framework框架 -- 认证权限流程源码

    认证权限 解析BaseAuthentication源码 # 做认证权限 from rest_framework import exceptions from ..models import * cla ...

  6. 【排序】选择排序,C++实现

    # 基本思想 每一趟从待排序的数据元素中选择最小(或最大)的一个元素作为首元素,直到所有元素排完为止. 排序实例 初始关键字 [49 38 65 97 76 13 27 49] 第一趟排序后 13 [ ...

  7. Android:LinearLayout布局中Layout_weight的深刻理解

    首先看一下LinearLayout布局中Layout_weight属性的作用:它是用来分配属于空间的一个属性,你可以设置他的权重.很多人不知道剩余空间是个什么概念,下面我先来说说剩余空间. 看下面代码 ...

  8. socket创建TCP服务端和客户端

    看情况选择相对应的套接字*面向连接的传输--tcp协议--可靠的--流式套接字(SOCK_STREAM)*面向无连接的传输--udp协议--不可靠的--数据报套接字(SOCK_DGRAM) 在liun ...

  9. MPI 学习

    一.编译MPI mpic++ test.cc -o test 二.启动MPI mpiexec -np 10 ./test 三.几个例子 第一个进程向第二个发一个数,第二个进程向第三个进程发送一个数.. ...

  10. win8.1下安装双系统ubuntu14.04.3

    一.去ubuntu官网下载长期支持版的系统,64位还是32位由物理内存而定,4G以下用32位,4G以上(包括4G)使用64位. 二.若64位的系统,下载下来的文件名应该是ubuntukylin-14. ...