python常用数据结构字典梳理

目录
  • dict字典
    • 字典定义与使用
    • 字典使用:创建
    • 字典使用:访问元素
    • 字典使用:操作元素
    • 字典使用:嵌套字典
    • 字典常用方法
  • values()
  • items()
    • values()
  • get()
  • update()
  • pop()
    • 字典推导式

dict字典

字典定义与使用

字典的定义:

  • 字典是无序的键值对集合
  • 字典用大括号{}包围
  • 每个键/值对之间用一个逗号分隔
  • 各个键与值之间用一个冒号分隔
  • 字典是动态的

字典使用:创建

创建字典:

  • --使用大括号填充键值对
  • --通过构造方法dict()
  • --使用字典推导式
# 创建字典
# --使用大括号填充键值对
a = {"name": "happy", "age": 18}
print(type(a), a)
# --通过构造方法dict()
b = dict()
print(type(b), b)
c = dict([("name", "happy"), ("age", 18)])
print(type(c), c)
# --使用字典推导式
d = {i: j for i, j in [("name", "happy"), ("age", 18)]}
print(type(d), d)

字典使用:访问元素

访问元素:

  • --与字典也支持支持中括号记法[key]
  • --字典使用键来访问其关联的值
  • --访问时对应的key必须要存在
# 访问元素
# --与字典也支持支持中括号记法[key]
# --字典使用键来访问其关联的值
# --访问时对应的key必须要存在
a = {"name": "happy", "age": 18}
print(a["name"])

字典使用:操作元素

语法:dict[key]=value

添加元素:

--键不存在

修改元素:

---键已存在

# 语法:dict[key]=value
# 添加元素
# --键不存在
# 修改元素
# ---键已存在
a = {"name": "happy", "age": 18}
a["name"] = "lucky"
print(a)
a["sex"] = "man"
print(a)

字典使用:嵌套字典

嵌套字典:字典的值可以是字典对象

# 嵌套字典
# 字典的值可以是字典对象
a = {'name': {'lucky': 5, "happy": 6}, 'age': 18, 'sex': 'man'}
print(a['name']["lucky"])
a['name']["lucky"] = 10
print(a)

字典常用方法

  • keys()
  • keys()

返回由字典键组成的一个新视图对象

入参:

返回

# 字典常用方法
# keys()
# 返回由字典键组成的一个新视图对象
# 入参:无
# 返回:
a = {'name': 'lucky', 'age': 18, 'sex': 'man'}
print(a.keys())
print(list(a.keys()))

values()

values()

返回由字典值组成的一个新视图对象

入参:无

返回:

# values()
# 返回由字典值组成的一个新视图对象
# 入参:无
# 返回:
a = {'name': 'lucky', 'age': 18, 'sex': 'man'}
print(a.values())
print(list(a.values()))

items()

values()

返回由字典项((键,值)对)组成的一个新视图对象

入参:无

返回:

# items()
# 返回由字典项((键,值)对)组成的一个新视图对象
# 入参:无
# 返回
a = {'name': 'lucky', 'age': 18, 'sex': 'man'}
print(a.items())
print(list(a.items()))

get()

get(key)

获取指定key关联的value值

入参:key:字典的键,必传

返回:

  • --如果key存在于字典中,返回key关联的value值。
  • --如果key不存在,则返回None

此方法的好处是无需担心key是否存在,永远都不会引发KeyError错误。

# get(key)
# 获取指定key关联的value值
# 入参:key:字典的键,必传
# 返回:
# --如果key存在于字典中,返回key关联的value值。
# --如果key不存在,则返回None
# 此方法的好处是无需担心key是否存在,永远都不会引发KeyError错误。
a = {'name': 'lucky', 'age': 18, 'sex': 'man'}
print(a.get("name"))
print(a.get("cc"))

update()

update(dict)

使用来自dict的键/值对更新字典,覆盖原有的键和值

入参:字典对象,必传

返回:None

# update(dict)
# 使用来自dict的键/值对更新字典,覆盖原有的键和值
# 入参:字典对象,必传
# 返回:None
a = {'name': 'lucky', 'age': 18, 'sex': 'man'}
a.update({'name': 'happy', 'cc': 18})
print(a)

pop()

pop(key)

删除指定key的键值对,并返回对应value值

入参:

key:必传

返回:

  • --如果key存在于字典中,则将其移除并返回value值
  • --如果key不存在与字典中,则会引发KeyError
# pop(key)
# 删除指定key的键值对,并返回对应value值
# 入参:
# key:必传
# 返回:
# --如果key存在于字典中,则将其移除并返回value值
# --如果key不存在与字典中,则会引发KeyError
a = {'name': 'lucky', 'age': 18, 'sex': 'man'}
print(a.pop("sex"))
print(a)

字典推导式

字典推导式:可以从任何以键值对作为元素的可迭代对象中构建出字典

实例:给定一个字典对象{"a":1,"b":2,"c":3},找出其中所有大于1的键值对,同时value值进行平方运算。

# 字典推导式:可以从任何以键值对作为元素的可迭代对象中构建出字典
# 实例:给定一个字典对象{"a":1,"b":2,"c":3},找出其中所有大于1的键值对,同时value值进行平方运算。

a = {"a": 1, "b": 2, "c": 3}
b = {i: j ** 2 for i, j in a.items() if j > 1}
print(b)

到此这篇关于python常用数据结构字典梳理的文章就介绍到这了,更多相关python 字典内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python中列表、字典、元组、集合数据结构整理

    本文详细归纳整理了Python中列表.字典.元组.集合数据结构.分享给大家供大家参考.具体分析如下: 列表: 复制代码 代码如下: shoplist = ['apple', 'mango', 'carrot', 'banana'] 字典: 复制代码 代码如下: di = {'a':123,'b':'something'} 集合: 复制代码 代码如下: jihe = {'apple','pear','apple'} 元组: 复制代码 代码如下: t = 123,456,'hello' 1.列表 空

  • Python基本数据结构与用法详解【列表、元组、集合、字典】

    本文实例讲述了Python基本数据结构与用法.分享给大家供大家参考,具体如下: 列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能.以下是 Python 中列表的方法: 下面示例演示了列表的大部分方法: >>> a = [66.25, 333, 333, 1, 1234.5] >>> print(a.count(333), a.count(66.25), a.count('x')) 2 1 0 >

  • Python基本数据结构之字典类型dict用法分析

    本文实例讲述了Python基本数据结构之字典类型dict用法.分享给大家供大家参考,具体如下: 词典类型 dict 字典由键(key)和对应值(value)成对组成.字典也被称作关联数组或哈希表. dict 赋值 dict 整体放在花括号{}中,每个键与值用冒号隔开(:),每对用逗号分割: d = {'one':1, 'two':2, 'three':3} 键必须独一无二,但值则不必:值可取任何数据类型,如字符串,数或元组:若创建时同一个键被赋值两次,后一个值会被记住: 键必须不可变,所以可以用

  • Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例

    本文实例讲述了Python通过公共键对字典列表排序算法.分享给大家供大家参考,具体如下: 问题:想根据一个或多个字典中的值来对列表排序 解决方案:利用operator模块中的itemgetter()函数对这类结构进行排序是非常简单的. # Sort a list of a dicts on a common key rows = [ {'fname': 'Brian', 'lname': 'Jones', 'uid': 1003}, {'fname': 'David', 'lname': 'Be

  • Python中3种内建数据结构:列表、元组和字典

    Python中有3种内建的数据结构:列表.元组和字典.参考简明Python教程 1. 列表 list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列 的项目.假想你有一个购物列表,上面记载着你要买的东西,你就容易理解列表了.只不过在你的购物表上,可能每样东西都独自占有一行,而在Python中,你在每个项目之间用逗号分割. 列表中的项目应该包括在方括号中,这样Python就知道你是在指明一个列表.一旦你创建了一个列表,你可以添加.删除或是搜索列表中的项目.由于你可以增加或删除项目,

  • 关于Python数据结构中字典的心得

    本篇主要介绍:常见的字典方法.如何处理查不到的键.标准库中 dict 类型的变种.散列表的工作原理等.一下是全部内容: 泛映射类型 collections.abc 模块中有 Mapping 和 MutableMapping 这两个抽象基类,它们的作用是为 dict 和其他类似的类型定义形式接口. 标准库里所有映射类型都是利用 dict 来实现的,它们有个共同的限制,即只有可散列的数据类型才能用做这些映射里的键. 问题: 什么是可散列的数据类型? 在 python 词汇表(https://docs

  • Python实现列表转换成字典数据结构的方法

    本文实例讲述了Python实现列表转换成字典数据结构的方法.分享给大家供大家参考,具体如下: ''' [ {'symbol': 101, 'sort': 1, 'name': 'aaaa'}, {'symbol': 102, 'sort': 2, 'name': 'bbbb'}, {'symbol': 103, 'sort': 3, 'name': 'cccc'}, {'symbol': 104, 'sort': 4, 'name': 'dddd'}, {'symbol': 105, 'sort

  • Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】

    本文实例讲述了Python基础学习之基本数据结构.分享给大家供大家参考,具体如下: 前言 相比于PHP,Python同样也是脚本解析语言,所以在使用Python的时候,变量和数据结构相对于编译语言来说都会简单许多,但是Python相比于PHP来说,变量类型的定义会比较严格:string->int的转换没有PHP那么方便.但这也让程序稳定性有所提升,例如和客户端交互的时候,数据库取出来的数字int和缓存取出来的数字(默认是string)需要手动进行转换(否则会有报错提示),而PHP不需要手动转换的

  • python常用数据结构字典梳理

    目录 dict字典 字典定义与使用 字典使用:创建 字典使用:访问元素 字典使用:操作元素 字典使用:嵌套字典 字典常用方法 values() items() values() get() update() pop() 字典推导式 dict字典 字典定义与使用 字典的定义: 字典是无序的键值对集合 字典用大括号{}包围 每个键/值对之间用一个逗号分隔 各个键与值之间用一个冒号分隔 字典是动态的 字典使用:创建 创建字典: --使用大括号填充键值对 --通过构造方法dict() --使用字典推导式

  • Python常用数据结构和公共方法技巧总结

    目录 1. 列表 1.1 列表的定义 1.2 列表常用操作 1.3 循环遍历 1.4 应用场景 2. 元组 2.1 元组的定义 2.2 元组常用操作 2.3 循环遍历 2.4 应用场景 3. 字典 3.1 字典的定义 3.2 字典常用操作 3.3 循环遍历 3.4 应用场景 4. 字符串 4.1 字符串的定义 4.2 字符串的常用操作 1) 判断类型 2) 查找和替换 3) 大小写转换 4) 文本对齐 5) 去除空白字符 6) 拆分和连接 4.3 字符串的切片 4.4 字符串的格式化输出 5.

  • python常用数据结构集合详解

    目录 set集合 集合定义与使用 集合常用方法 add() update() remove() discard() pop() clear() 集合运算 交集运算 并集运算 差集运算 集合推导式 set集合 集合定义与使用 集合定义: --无序的唯一对象集合 --用大括号{}包围,对象相互之间使用逗号分隔 --集合是动态的,可以随时添加或删除元素 --集合是异构的,可以包含不同类型的数据 集合使用:创建 创建: --通过使用{}填充元素 --通过构造方法set() --通过集合推导式 # 集合使

  • python常用数据结构元组详解

    目录 Tuple 元组 元组的定义和使用 元组常用方法 index(item) count(item):返回某个元素出现的次数 元组解包 元组与列表 Tuple 元组 元组的定义和使用 元组的定义: 元组是有序的不可变对象集合 元组使用小括号包围,各个对象之间使用逗号分隔 元组是异构的,可以包含多种数据类型 元组使用:创建 创建: --使用逗号分隔 --通过小括号填充元素 --通过构造方法tuple(iterable)-----iterable:可迭代对象 --注意:单元素元组,逗号不可或缺 #

  • python常用知识梳理(必看篇)

    接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理: 1)避免'\n'等特殊字符的两种方式: a)利用转义字符'\' b)利用原始字符'r' print r'c:\now' 2)单行注释,使用一个#,如: #hello Python 多行注释,使用三个单引号(或三个双引号),如: '''hello python hello world''' 或 """hello python hello world""" 另外跨越多行

  • Python 常用内置模块超详细梳理总结

    目录 time模块 time.sleep() time.time() time.localtime() time.strftime() datetime() random模块 random.random() random.randint() random.choice() random.shuffie() random.randrange() random.sample() json模块 json.loads() json.dumps() json.load() json.dump() OS模块

  • Python常用队列全面详细梳理

    目录 一,队列 二,常见队列 1,FIFO队列 2,LIFO队列 3,双向队列 4,优先级队列 5,循环队列 一,队列 和栈一样,队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作.队列是一种操作受限制的线性表,进行插入操作的端称为队尾,进行删除操作的端称为队头.队列中没有元素时,称为空队列. 二,常见队列 1,FIFO队列 基本FIFO队列 先进先出 FIFO即First in First Out,先进先出. 调用queue.

  • Python cookbook(数据结构与算法)从字典中提取子集的方法示例

    本文实例讲述了Python从字典中提取子集的方法.分享给大家供大家参考,具体如下: 问题:想创建一个字典,其本身是另一个字典的子集 解决方案:利用字典推导式(dictionary comprehension)可轻松解决 # example of extracting a subset from a dictionary from pprint import pprint prices = { 'ACME': 45.23, 'AAPL': 612.78, 'IBM': 205.55, 'HPQ':

随机推荐