python笔记四-字典

【深度学习驱动流体力学】OpenFOAM目录流体力学求解器汇总介绍 下面这些目录结构和其中的求解器和工具展示了OpenFOAM作为一个功能强大且广泛应用的开源CFD软件框架的多样性和灵活性。每个求解器都专门用于解决不同类型的流体动力学问题,从基础的流动模拟到复杂的多相流动和燃烧模拟等各种应用场景。 阅读详情

1、当索引不好用时候,使用字典。

2、字典的定义:

>>> phonebook = {'Alice':'2341','Beth':'9102','Ceil':'3258'}
>>> PHONEBOOK
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    PHONEBOOK
NameError: name 'PHONEBOOK' is not defined
>>> phonebook
{'Beth': '9102', 'Alice': '2341', 'Ceil': '3258'}
>>> 

3、使用dict函数将序列建立字典

>>> items = [('name','Gumby'),('age',42)]
>>> d=dict(items)
>>> d
{'age': 42, 'name': 'Gumby'}

>>> d['name']
'Gumby'

删除字典的 键,使用 del d[key], 检测d中是否有key的键,使用 key in d,来判断成员资格

4、创建一个空的字典,符号是{}, 而不是[],创建之后可以直接添加键值,如下:

>>> x = []
>>> x[42] = 'Foobar'
Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    x[42] = 'Foobar'
IndexError: list assignment index out of range
>>> x = {}
>>> x[42] = 'Foobar'
>>> x
{42: 'Foobar'}

5、利用字典格式化字符串,格式: “%(key)s” % d

>>> phonebook
{'Beth': '9102', 'Alice': '2341', 'Ceil': '3258'}
>>> "Ceil's phone number is %(Ceil)s." % phonebook
"Ceil's phone number is 3258."

>>> "Beth: %(Beth)s" % phonebook
'Beth: 9102'

6、字典方法

(1)clear。将清除原始字典的所有键值

>>> x = {}
>>> x['1'] = 'aaa'
>>> y = x
>>> y
{'1': 'aaa'}
>>> y.clear()
>>> y
{}
>>> x
{}

如果要求只清除x,而保留y的内容,可以执行x={},

(2)copy。执行浅复制

>>> x={'1':'aaa','2':['xx','yy','zz']}
>>> y = x.copy()
>>> y
{'1': 'aaa', '2': ['xx', 'yy', 'zz']}
>>> y['1'] = '111'
>>> x
{'1': 'aaa', '2': ['xx', 'yy', 'zz']}
>>> y
{'1': '111', '2': ['xx', 'yy', 'zz']}

注意:x的键值'1'没有改变,但是对y执行以下操作,x的内容发生了变化

>>> y
{'1': '111', '2': ['xx', 'yy', 'zz']}
>>> y['2'].remove('xx')
>>> y
{'1': '111', '2': ['yy', 'zz']}
>>> x
{'1': 'aaa', '2': ['yy', 'zz']}

注意:x键值'2'在执行remove之后发生了变化,x被修改了,为了达到复制之后相互独立的效果,深复制可以解决以上问题

>>> from copy import deepcopy
>>> d = {}
>>> d['111'] = ['aaa','bbb']
>>> c = d.copy()
>>> dc = deepcopy(d)
>>> d['111'].append('ccc')
>>> c
{'111': ['aaa', 'bbb', 'ccc']}
>>> dc
{'111': ['aaa', 'bbb']}

说明:c会随着d而修改,而dc 则不受影响。

(3)fromkeys 函数,构建字典键值

>>> {}.fromkeys(['key1','key2'])
{'key2': None, 'key1': None}

说明:以上通过空字典创建二对键值(键值列表为key1和key2),默认值为‘None’

>>> dict.fromkeys(['k1','k2','k3','k4'])
{'k4': None, 'k1': None, 'k3': None, 'k2': None}

说明:调用了dict的fromkeys函数

>>> dict.fromkeys(['key1','key2','key3','key4'],'unknown')
{'key1': 'unknown', 'key2': 'unknown', 'key4': 'unknown', 'key3': 'unknown'}

说明:默认值改为了‘unknown’

(4)get方法。可以安全访问字典中不存在的键值,一般常规下根据索引去访问键值会发生异常,而用get方法不会

>>> d = {}
>>> d['a']
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    d['a']
KeyError: 'a'
>>> d.get('a')
>>> print(d.get('a'))
None
>>> 

也可以提供默认输出值

>>> d.get('a','N/A')
'N/A'

正常访问存在的键值,如下

>>> d['a'] = 'aaaaa'
>>> d.get(['a'])
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    d.get(['a'])
TypeError: unhashable type: 'list'
>>> d.get('a')
'aaaaa'

(5)has_key方法。用来检查字典中是否存在某键key,但是python3.x不包括这个函数

>>> d
{'a': 'aaaaa'}

>>> d.has_key('a')
Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    d.has_key('a')
AttributeError: 'dict' object has no attribute 'has_key'

可以用in来判断

>>> 'a' in d
True

>>> 'b' in d
False

(6)items和iteritmes,python3.x不支持iteritems,

>>> d = {'1':'aaa', '2':'bbb','3':'ccc','4':'ddd'}
>>> d.items
<built-in method items of dict object at 0x02D8AB20>
>>> d.items()
dict_items([('4', 'ddd'), ('3', 'ccc'), ('2', 'bbb'), ('1', 'aaa')])
>>> it = d.iteritems()
Traceback (most recent call last):
  File "<pyshell#16>", line 1, in <module>
    it = d.iteritems()
AttributeError: 'dict' object has no attribute 'iteritems'
>>> it = d.items
>>> list(it)
Traceback (most recent call last):
  File "<pyshell#18>", line 1, in <module>
    list(it)
TypeError: 'builtin_function_or_method' object is not iterable

(7)keys和iterkeys,python3.x不支持iterkeys

>>> d
{'4': 'ddd', '3': 'ccc', '2': 'bbb', '1': 'aaa'}

>>> d.keys
<built-in method keys of dict object at 0x02D8AB20>
>>> d.keys()
dict_keys(['4', '3', '2', '1'])

(8)pop弹出键值(返回值后从字典中删除)

>>> d
{'4': 'ddd', '3': 'ccc', '2': 'bbb', '1': 'aaa'}
>>> d.pop('1')
'aaa'
>>> d
{'4': 'ddd', '3': 'ccc', '2': 'bbb'}

(9)popitem随机弹出键值

>>> d
{'4': 'ddd', '3': 'ccc', '2': 'bbb'}
>>> d.popitem()
('4', 'ddd')
>>> d
{'3': 'ccc', '2': 'bbb'}

(10)setdefault,当键不存在,使用默认值设置键对应的值,如果存在键,忽略setdefault操作,均返回当前键对应的值

>>> d
{'3': 'ccc', '2': 'bbb'}
>>> d.setdefault('5','N/A')
'N/A'
>>> d
{'5': 'N/A', '3': 'ccc', '2': 'bbb'}
>>> d.setdefault('2','N/A')
'bbb'
>>> d
{'5': 'N/A', '3': 'ccc', '2': 'bbb'}

(11)update。用新字典的键值替换旧字典的键值

>>> d
{'5': 'N/A', '3': 'ccc', '2': 'bbb'}

>>> d1 = {'5':'eee'}
>>> d.update(d1)
>>> d
{'5': 'eee', '3': 'ccc', '2': 'bbb'}

(12)values和 itervalues

>>> d
{'5': 'eee', '3': 'ccc', '2': 'bbb'}

>>> d.values
<built-in method values of dict object at 0x02D8AB20>
>>> d.values()
dict_values(['eee', 'ccc', 'bbb'])

python3不支持value迭代器

>>> itv = d.values
>>> list(itv)
Traceback (most recent call last):
  File "<pyshell#41>", line 1, in <module>
    list(itv)
TypeError: 'builtin_function_or_method' object is not iterable
>>> itv = d.itervalues
Traceback (most recent call last):
  File "<pyshell#42>", line 1, in <module>
    itv = d.itervalues
AttributeError: 'dict' object has no attribute 'itervalues'
>>> itv = d.itervalues()
Traceback (most recent call last):
  File "<pyshell#43>", line 1, in <module>
    itv = d.itervalues()
AttributeError: 'dict' object has no attribute 'itervalues'








ESP32 WIFI 智能巡线小车设计与实现(四足 / 四轮通用) 本文设计的 ESP32 WIFI 智能巡线小车,硬件模块化、软件轻量化,兼容四足与四轮两种结构,实现了自动巡线与 WIFI 远程控制双功能。系统成本低、易上手,适合嵌入式初学者学习 WIFI 通信、传感器应用、运动控制等核心知识点,也可在此基础上扩展蓝牙控制、避障、视觉识别等功能。 阅读详情

相关推荐

深信服上网行为管理设备登录方法、恢复出厂、恢复控制台密码

1.初识设备 1.1 设备外观 1.2 软件版本 2.如何登录设备 首次拿到AC/SG设备时,可以通过以下方法登录设备控制台 SANGFOR AC/SG设备,各网口默认的出厂IP为: eth0(LAN):10.251.251.251/24 , eth1(DMZ)10.252.252.252/24 1、使用一根交叉线连接设备和电脑 (1) 如果电脑连接的是设备的eth0口,需先在电脑上配...

✍千里之行,始于足下 ^,^ 5万+

7.Python-字典

python字典

weixin_43346403的博客 369

高效打卡系统设计:从行为心理学到实践工具

打卡系统作为现代时间管理的重要工具,其核心原理植根于行为心理学中的即时反馈机制和习惯养成理论。通过科学设计的打卡周期和可视化反馈,能有效提升个人自律性和目标达成率。在技术实现上,从纸质记录到数字化工具(如Notion、Excel自动化模板)的演进,为不同场景提供了灵活解决方案。特别在习惯追踪和进度管理领域,结合热力图生成、数据统计等技巧,打卡系统能转化为强大的自我监督工具。本文通过实践案例,详解如何构建兼顾弹性和约束力的个性化打卡方案,帮助读者突破'三天打鱼两天晒网'的常见困境。

weixin_30047059的博客 337

python 字典小结

字典分为键和值,具体看例程: >>> dict = {'Name': 'Zara', 'Age': 7} >>> print(dict.values) <built-in method values of dict object at 0x7fc6c1bc89c8> >>> print(dict.values()) dict_v...

weixin_42528089的博客 670

Reeds-Shepp曲线公式推导及代码实现-第二部分(共三部分)

文章目录2. Reeds-Shepp求解2.1 L+S+L+L^+S^+L^+L+S+L+2.2 L+S+R+L^+S^+R^+L+S+R+2.3 L+R−L+L^+R^-L^+L+R−L+2.4 L+R−L−L^+R^-L^-L+R−L−2.5 L+R+L−L^+R^+L^-L+R+L−2.6 L+Rβ+Lβ−R−L^+R_{\beta}^+L_{\beta}^-R^-L+Rβ+​Lβ−​R−2.7 L+Rβ−Lβ−R+L^+R_{\beta}^-L_{\beta}^-R^+L+Rβ−​Lβ−​R+2.8

jianmo的博客 1213

Coding Plan:程序员真实工作的可执行编码决策框架

Coding Plan 是一种面向工程实践的编码决策方法论,它超越传统学习路径,聚焦于代码在真实业务系统中的上下文对齐、影响控制与可演进性保障。其核心在于将模糊的开发直觉转化为可度量、可验证、可协作的日常动作,涵盖目标对齐、上下文锁定、验证闭环、协作契约和演进预留五大锚点。结合2026年AI辅助编码新范式,它强调将大模型作为‘上下文翻译器’而非代码生成器,并通过分钟级工作块、技术债主动发行、可观测性前置等机制,显著提升交付确定性与系统长期健康度。本文详解该框架的底层逻辑与落地实践。

weixin_33326218的博客 439

python-字典

d.update({“F”:“13”, “i”:“14”}) #也可写成d.update(F=“13”)5) e = dict({“吕布”:“口口布”, “关羽”:“关习习”}, 刘备=“刘baby”)6) f = dict(zip([“吕布”, “关羽”], [“口口布”, “关习习”]))z = dict([(“吕布”,“口口布”),(“关羽”,“关习习” )])4)d = dict({“吕布”:“口口布”, “关羽”:“关习习”})y = dict(吕布=“口口布”, 关羽=“关习习”)

liubaohua1993的博客 444

【新手必看】挖漏洞流程指南,黑客手把手教你挖漏洞月入过万!收藏这篇就够了!(附学习笔记)

【新手必看】挖漏洞流程指南,黑客手把手教你挖漏洞月入过万!收藏这篇就够了!(附学习笔记)【新手必看】挖漏洞流程指南,黑客手把手教你挖漏洞月入过万!收藏这篇就够了!(附学习笔记)

weixin_57514792的博客 1105

关于字典及其遍历的一些常用方法

字典是以“键—值”对存放的无序数据集合。 “键—值”对是字典的元素,访问其中的元素要以“键”来访问。 字典的键可以是字符串、整数、元组或字典。字典的值也可以是字符串、整数。 列表不能作为字典的键,是因为列表是可变的。同一个字典中,相同的键只出现一次,它是访问其他数据的索引。如果给一个键重复赋值,后赋的值将覆盖前面的值。列表则可以作为字典的值。 常见的字典方法 方法 功能 x.keys() 返回字典中的键 x.values() 返回字典中的值 x.ite

knighthood2001 4715

【WorkBuddy从入门到精通实战教程】第 4 章 快速完成第一个 WorkBuddy 任务

摘要:WorkBuddy任务创建指南详细说明了从新建任务到结果验收的全流程。操作步骤包括:选择工作目录、设置模式(Craft/Ask/Plan)、指定AI模型、输入任务说明(需包含目标/输入/动作/约束/输出/验收6要素),可选配Skill等高级设置。文中提供三个入门示例:A)文件整理需保持原文件并生成分类方案;B)会议纪要要求结构化输出且所有内容有原文依据;C)Word转PPT需遵循品牌规范并控制页数。特别强调首次操作应在演练目录测试,处理真实数据前需确认授权范围,输出文件需检查涉密信息并按规范共享。(1

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 1352

使用C++实现DNS欺骗攻击

其中,domain_name表示需要欺骗的域名,dns_server_ip表示实际DNS服务器的IP地址,fake_ip表示需要重定向到的IP地址。在DNS查询过程中,当客户端向DNS服务器请求解析某个域名时,DNS服务器会返回该域名对应的IP地址。DNS劫持是一种常见的网络攻击方式,通过篡改DNS响应数据,使得用户访问的网站被重定向到攻击者指定的恶意站点。我们使用C++编写一个简单的DNS欺骗程序,使得当客户端请求解析特定的域名时,我们可以将其重定向到指定的IP地址。使用C++实现DNS欺骗攻击。

TechGlide的博客 411

Python <built-in method items of dict object at 0x0000000002B6C8C8> 问题解决

在把字典类型转换为list类型时遇到问题:<built-in method items of dict object at 0x0000000002B6C8C8> 相应代码为:print a.values() 后发现是因为这样做只是返回一个“循环体 iter”, 你需要把它们显示出来需要用 list(dic.keys)

yeziyqf的博客 2万+

Pytorch入门教程

Pytorch学习总结:1.张量Tensor 张量是一种特殊的数据结构,与数组和矩阵非常相似。在PyTorch中,我们使用张量对模型的输入和输出以及模型的参数进行编码。 张量类似于NumPy的ndarray,除了张量可以在 GPU 或其他硬件加速器上运行。事实上,张量和NumPy数组通常可以共享相同的底层内存,从而无需复制数据。...

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 4万+

【Python学习笔记】四、字典

字典的创建 phonebook={'Mike':1234,'John':9876} dict函数 通过其他映射或键值对的序列来创建字典。 # ①通过dict函数将列表元素转换成字典(列表的每一个元素均包含两个值,是一个列表或是一个元组) item=[["Bill","1234"],("Mike","5678")] d=dict(item) print(d) > 运行结果: {'Bill':...

道阻且长,行则将至 1368

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Python学习笔记四——字典

字典 概念:Python中字典正如我们平时所用的字典一样有单词(这里叫key),也有解释这里叫(value),简称键-值对,可以很好地反应两个相关联的值,同时在字典中也常常是键-值成对存在,键和值用冒号“:”隔开,键-值对用逗号隔开。 创建字典: 格式:字典名 = {‘键名1’:‘值1’,‘键名2’:‘值2’…} alen={}#建立空字典 #也可以建立一个完整的字典 alien ={'colo...

白鹤想亮翅的博客 243

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Python基础学习笔记四(字典)

 本文继续对Python基础进行学习,你将学习能够将相关信息关联起来的Python字典,学习如何访问和修改字典中的信息,还将学习存储字典的列表、存储列表的字典和存储字典的字典,希望我的经验可以帮到大家!有任何疑问可以评论区见呦!注:文中实例均于Jupyter notebook下编译。 文章目录1. 什么是字典2. 使用字典2.1 访问字典中的值2.2 添加键—值对2.3 删除键—值对2.4 修改字...

sk_berry的博客 647

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

python学习笔记四.字典

使用字典 在python中,字典是一系列键-值对,可以使用键来获得相关联的值。 1.访问字典中的值

weixin_45199642的博客 376

python学习笔记(四)字典

python学习笔记,字典

记点笔记,写点bug 201

Python学习笔记(四):列表、元组和字典

Python学习笔记(四) 字符串的查找与替换到运算符Python学习笔记(四)一. 字符串的查找与替换字符串查找字符串替换二. 运算符赋值运算符算数运算符逻辑运算符运算符优先级三. bool类型和比较运算符四.三目运算符 一. 字符串的查找与替换 字符串查找 find() 在一个较长的字符串中查找子字符串 source_string.find(sub_string) source_string:源字符串 sub_string:待查的目标子字符串 如果该字符串中有多个子字符串,则该方法返回第一个子串所

YOU 1万+

Python学习笔记(四)生成字典

注:学习笔记来源于自己在学习Python过程中遇到的小问题及对网络诸多大牛提供的方法的实践。             此Python版本:Python 3.3.5   Python 字典   一、dict函数 (1)映射 >>> items = [('a', 1), ('b', 2)] >>> dict1 = dict(items) >>> dict1 {'a': 1, 'b': 2}   (

u014691453的专栏 1014

Python基础笔记(四)字典、集合

1.字典 1.1字典的定义 Python中的字典属于序列,字典中的每个元素是一个“键值对”,“键值对”包含“键对象”和“值对象”; “键”是任意的不可变的对象:整数、浮点数、字符串、元组;列表、字典、集合这些可变对象不可以作为“键”,“键”不可以重复; “值”可以是任意的数据,并且可重复; 1.2字典的创建 字典可通过{}创建,也可通过dict()来创建,dict()无输入时创建一个空的字典对象,也可以输入一个可迭代的对象来创建一个非空的字典对象; 通过zip()创建字典对象: a = l

qq_17478877的博客 295

python字典是键值对的集合_Python 基础笔记四:元组、字典、集合

2、元组tuple(和列表很类似)(1)元组定义(必须要有逗号)举例:tup1 = ()print(type(tup1)) # tup2 = (20)print(type(tup2)) # tup3 = (20,) # 定义一个元素的元组需要加逗号print(type(tup3)) # tup4 = (20,25,30,35)print(type(tup4)) # (2)访问数据举例:# 访问数据...

weixin_35564436的博客 3011

Python学习笔记之四:Python中的字典

Python学习笔记之四:Python中的字典 1 Python中字典的定义 Python中的字典是一系列键-值对的集合。每个键都有一个值与之关联,我们可以使用键来获取与之关联的值。该值可以是数字,字符串,列表甚至是字典。可以将Python中的任何对象用作字典中的值 2 Python中字典的使用方法 2.1 字典的基本使用方法 2.1.1 创建字典 可以使用一对空的花括号定义一个空字典,再为其添加键-值对,也可以直接定义一个包含多个键-值对的字典,具体使用方法如下实例所示: #方法一 car = {'col

weixin_42711014的博客 242

python学习笔记四:字典

字典和集合一样是无序 的,不能通过索引来存取,只能通过键来存取。 字典的键必须是不可变的数据类型,如数字,字符串,元组等,列表等可变对象不能作为键。 不允许同一个键出现两次,创建时如果同一个键被赋值两次,后一个会被记住。 创建字典与字典的添加和去除: #创建字典 a = {'name':'xiaobin','age':18} print(a) b = dict(name = 'xiaob...

qq_24946843的博客 309

Python笔记(四)—— if语句and字典

1. and or 可以直接写,就是字面意思 2.检查特定值是否包含在列表中( in 语句中别忘了:) requested_toppings = ['mushrooms', 'onions', 'pineapple'] if 'mushrooms' in requested_toppings: else: 检查特定值是否不包含在列表中(not in) banned_users = ['andrew', 'carolina', 'david'] user = 'mari...

我是高鹏 547

《Python编程:从入门到实践》笔记(四)—— 字典

第六章 字典 在Python中,字典是一系列键 —值对。每个键都与一个值相关联,你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何Python对象用作字典中的值。 在Python中,字典用放在花括号 { } 中的一系列键—值对表示,如:alien_0 = {‘color’: ‘green’, ‘points’:5} 1. 访问字典中的值 要获取与键相关联的值,可依次指定字典名和放在方括号内的键,如: alien_0[’color’]。 2. 创建一个空字典

kchen17的博客 856
上一篇: python笔记三-使用字符串
下一篇: Windows sockets网络开发-select模型
deerleaper
博客等级 码龄15年 42粉丝 147原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值