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. Quartz教程:快速入门

    原文链接 | 译文链接 | 翻译:nkcoder | 校对:方腾飞 本系列教程由quartz-2.2.x官方文档翻译.整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处 ...

  2. Algorithm2: 重复查过半数的元素

    数组中,有一个元素的值在数组中重复的个数是超过一半,获得元素超过一半的元素值 int MoreThanHalfNumber(int * arr, int n){                  in ...

  3. jqeury 基础

    jquery 选择器: 基本选择器:#id ..class.*(匹配所有) 层次选择器: $(div span) 选取<div>里的所有的<span>元素. $(div> ...

  4. New Concept English three (24)

    33 72 We often read in novels how a seemingly respectable person or family has some terrible secret ...

  5. flowable IdmEngine和IdmEngineConfiguration

    IdmEngineConfiguration 继承了 AbstractEngineConfiguration. 一.创建EngineConfiguration实例 IdmEngineConfigura ...

  6. linux centos 安装opencv

    系统:Centos 6.5 最后版本 OpenCV: 2.4.9 1.安装依赖包(很重要) yum install cmake gcc gcc-c++ gtk+-devel gimp-devel gi ...

  7. 安装Oracle 11G Enterprise Manager工具

    1.登录ORACLE数据库 sqlplus / as sysdba; 2.查询实例名 SQL> select instance_name from v$instance; INSTANCE_NA ...

  8. fedora 27

    安装 U盘安装,感谢学长的U盘 配置 安装外来软件的时候,需要输入root密码 软件 软件安装是个麻烦事儿啊 详情 [新手指南: 在 Ubuntu 和 Fedora 上安装软件包] Fedora 中文 ...

  9. moment时间转换插件

    在vue中的使用: import moment = from “moment” Vue.prototype.$moment = moment; 获取时间戳 : var res = this.$mome ...

  10. 【剑指offer12】矩阵中的路径(回朔法),C++实现

    1.题目 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩阵中 ...