开始Python -- Dictionary

软件缺陷(定义+表现形式+优先级+信息+产生原因),看完这篇文章就懂了 软件缺陷软件缺陷的定义软件缺陷的表现形式软件缺陷产生的原因软件缺陷的根源软件缺陷的费用软件缺陷的信息 软件缺陷的定义 IEEE 1983 of IEEE Stardard 729中软件缺陷做了一个标准的定义: 从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。 因此软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,没有满足用户的需求。 缺陷不是bug,缺陷包含bug,缺陷的范围更大。 软件缺陷 阅读详情

1、Dictionary语法

l         Dictionary由key/value对(称为项目)组成,key和value之间用“:”分割,项目用“,”分割,所有项目用“{}”包括起来

>>> phonebook = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

l         Dictionary的key值必须唯一,否则后者会覆盖前者:

>>> phonebook = {'Alice': '2341', 'Alice': '9102', 'Cecil': '3258'}

>>> phonebook

{'Alice': '9102', 'Cecil': '3258'}

l         使用dict()函数可以从Mapping(如其它的Dictionary)或key/value形式的Sequence创建Dictionary:

>>> items = [('name', 'Gumby'), ('age', 42)]

>>> d = dict(items)

>>> d

{'age': 42, 'name': 'Gumby'}

l         也可以用keyword参数来创建Dictionary:

>>> d = dict(name='Gumby', age=42)

>>> d

{'age': 42, 'name': 'Gumby'}

 

2、基本Dictionary操作

l         Dictionary支持Sequence的基本操作,但要注意下面几点:

l         key值可以是任何类型,但必须是不可变类型,如整数、浮点数、String、Tuple

l         对项目赋值时,如果key值不存在,会新建项目:

>>> x = {}

>>> x[42] = 'Foobar'

>>> x

{42: 'Foobar'}

l         使用in操作符时,是查找key值,而不是value值

 

3、使用Dictionary格式化String

l         转换形式:%(key)type(type是转换类型)

>>> template = '''<html>

<head><title>%(title)s</title></head>

<body>

<h1>%(title)s</h1>

<p>%(text)s</p>

</body>'''

>>> data = {'title': 'My Home Page', 'text': 'Welcome to my home page!'}

>>> print template % data

<html>

<head><title>My Home Page</title></head>

<body>

<h1>My Home Page</h1>

<p>Welcome to my home page!</p>

</body>

 

4、Dictionary方法

(1) clear:移去Dictionary中所有的元素

>>> d = {'age': 42, 'name': 'Gumby'}

>>> d

{'age': 42, 'name': 'Gumby'}

>>> d.clear()

>>> d

{}

l         注意,d.clear()和d = {}结果相同,但含义不同:后者是指向了一个新的空Dictionary

(2) copy:返回具有相同key/value对的新Dictionary(注意value值是共用的)

>>> x = {'username': 'admin', 'machines': ['foo', 'bar', 'baz']}

>>> y = x.copy()

>>> y['username'] = 'mlh'

>>> y['machines'].remove('bar')

>>> y

{'username': 'mlh', 'machines': ['foo', 'baz']}

>>> x

{'username': 'admin', 'machines': ['foo', 'baz']}

l         避免上面问题的方法是对value值也进行拷贝,可以使用copy模块中的deepcopy()函数:

>>> from copy import deepcopy

>>> d = {}

>>> d['names'] = ['Alfred', 'Bertrand']

>>> c = d.copy()

>>> dc = deepcopy(d)

>>> d['names'].append('Clive')

>>> c

{'names': ['Alfred', 'Bertrand', 'Clive']}

>>> dc

{'names': ['Alfred', 'Bertrand']}

(3) fromkeys:根据给定的key值创建新的Dictionary,缺省value值为None

>>> {}.fromkeys(['name', 'age'])

{'age': None, 'name': None}

l         可以使用Dictionary的Type(后面讲述):dict

>>> dict.fromkeys(['name', 'age'])

{'age': None, 'name': None}

l         可以指定value的缺省值:

>>> dict.fromkeys(['name', 'age'], '(unknown)')

{'age': '(unknown)', 'name': '(unknown)'}

(4) get:获取项目的value值(不常用)

l         注意下面的区别:

>>> d = {}

>>> print d['name']

Traceback (most recent call last):

  File "<interactive input>", line 1, in ?

KeyError: 'name'

>>> print d.get('name')

None

l         可以指定缺省值(缺省是None):

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

'N/A'

(5) has_key:检查Dictionary中是否有指定key

>>> d = {}

>>> d.has_key('name')

0

>>> d['name'] = 'Eric'

>>> d.has_key('name')

1

(6) items和iteritems

l         items()以List返回Dictionary中所有项目,每个项目的形式是(key, value):

>>> d = {'title': 'Python Web Site', 'url': 'http://www.python.org', 'spam': 0}

>>> d.items()

[('url', 'http://www.python.org'), ('spam', 0), ('title', 'Python Web Site')]

l         iteritems()返回Iterator对象:

>>> d.iteritems()

<dictionary-itemiterator object at 0x0101CA60>

>>> list(d.iteritems())

[('url', 'http://www.python.org'), ('spam', 0), ('title', 'Python Web Site')]

(7) keys和iterkeys

>>> d.keys()

['url', 'spam', 'title']

>>> d.iterkeys()

<dictionary-keyiterator object at 0x01073720>

>>> list(d.iterkeys())

['url', 'spam', 'title']

(8) pop:根据指定key返回value,并从Dictionary中移去该项目:

>>> d = {'x': 1, 'y': 2}

>>> d.pop('x')

1

>>> d

{'y': 2}

(9) popitem:从Dictionary中随机弹出一个项目返回(Dictionary中的项目是无序的)

>>> d = {'title': 'Python Web Site', 'url': 'http://www.python.org', 'spam': 0}

>>> d.popitem()

('url', 'http://www.python.org')

>>> d

{'spam': 0, 'title': 'Python Web Site'}

(10) setdefault:根据指定的key值,对不在Dictionary的项目设置value值

>>> d = {}

>>> d.setdefault('name', 'N/A')

'N/A'

>>> d

{'name': 'N/A'}

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

>>> d.setdefault('name', 'N/A')

'Gumby'

>>> d

{'name': 'Gumby'}

l         如果不指定缺省值,则使用None

(11) update:使用另一个Dictionary的项目来更新指定Dictionary

>>> d = {'title': 'Python Web Site', 'url': 'http://www.python.org', 'changed': 'Mar 14 22:09:15 MET 2005'}

>>> x = {'title': 'Python Language Website'}

>>> d.update(x)

>>> d

{'url': 'http://www.python.org', 'changed': 'Mar 14 22:09:15 MET 2005', 'title': 'Python Language Website'}

(12) values和itervalues

>>> d.values()

['http://www.python.org', 'Mar 14 22:09:15 MET 2005', 'Python Language Website']

>>> d.itervalues()

<dictionary-valueiterator object at 0x01073900>

>>> list(d.itervalues())

['http://www.python.org', 'Mar 14 22:09:15 MET 2005', 'Python Language Website']

 

 
Arduino开发实例-EMG 肌肉信号传感器 在医学研究中,测量肌肉的活动、收缩和扩张非常重要。 EMG 肌肉传感器测量肌肉活动并产生信号以显示扩张和收缩量。 因此,输出取决于所选肌肉的活动量。 3 绿色、红色和黄色电极连接到模块,用于传输来自肌肉运动的电信号。 阅读详情

相关推荐

Android客户端如何设计架构

当我们在新开发一款APP时,我们在初期要如何设计架构呢?在这里我根据我的经验,总结了一些基本的架构思路。 客户端架构设计的时候,首先需要充分考虑到所开发的app的类型,这里我分为功能型和服务型两大类,功能型的app侧重业务和功能,服务型的app侧重服务和运算。下面我就具体来讲讲针对这两种类型的通用架构。 功能型app 功能型app的activity比较多,整个app都以一个个activity承载业务和功能,在设计这类app时,我们需要考虑哪些要素呢? 由于activity比较多,我们需要考虑页面的跳转路由,

子者不语的专栏 1544

Python

Python:列表常用函数方法归纳

HCL12137的博客 810

EtherCat 从站开发中遇到的问题分享

EtherCat从站 AX58100

yu_arius的博客 2058

python循环遍历字典_如何循环和遍历Python字典?

python循环遍历字典Dictionaries provide simple data types with value and key. Dictionary data may be used in an iteration with forloop. By using for mechanism we can iterate over dictionary elements easily....

cunjiu9486的博客 3972

NVIDIA显卡驱动历史版本全攻略:从官网隐藏入口到精准下载

本文详细介绍了如何获取NVIDIA显卡驱动历史版本的完整攻略,包括官网隐藏入口的揭秘、精准筛选驱动版本的技巧以及安装避坑指南。特别针对游戏玩家、创作者和老显卡用户提供了实用建议,帮助用户解决驱动兼容性问题,提升显卡性能。

m2n3o4p5的博客 3734

深入解析DMR协议中的4-CPFSK调制技术与实现

本文深入解析了DMR协议中采用的4-CPFSK调制技术。该技术凭借其连续相位、恒包络的特性,在有限的12.5kHz信道带宽内实现了稳健的通信,有效对抗干扰并提升功放效率,是DMR数字对讲机清晰、稳定通信的核心保障。文章详细阐述了其原理、实现细节及在协议栈中的协同作用。

weixin_29306875的博客 230

字典:格式化字符串

在元组里面的时候,就说过格式化字符串,使用字典的格式化的时候: >>>phonebook= {'wang':'1234', 'zhang':'56778'} >>>"wang's phone number is  %(wang)s " %phonebook wang's phone number is 1234 方法: 1.clear , 清除所有的项,无返回值,或者说返回的是

juepei的专栏 2712

网格聚类 Grid Clustering/Grid-based Clustering

本文主要简单介绍了网格聚类的基本概念,优缺点,应用场景,建模时的注意事项,评价指标,实现方法,python示例和模型参数等。

JasonH2021的博客 4828

python中title函数的作用

我们在python编程中,有的时候需要写标题,但是代码格式为字符串。这时就要用到python中的title函数,它可以将首字母大写,将字符串转换为标题格式。 1、title函数 python中字符串函数,返回’标题化‘的字符串,就是单词的开头为大写,其余为小写 2、语法 string.title() 3、使用实例 在这里插入代码片 str=' tHe wOrLDwidE Web ' str.title() str.title().strip() 输出 ' The Worldwide We

m0_51713294的博客 1万+

【DDSCAT——离散偶极近似仿真程序05】模型设计Matlab代码:多核壳球 、多核壳圆柱

简洁明了,后面及部分给出的都是模型设计的Matlab代码,这些代码都来自于一篇文章:Chin C W S. Localized Surface Plasmon Resonance with the use of Silver and Titanium Oxide Nanostructures[J]. 2011. 一、设计多个核壳球形结构 1)Matlab代码 ...

XD_Yangf的博客 4261

超声波探伤技术在风电叶片检测中的实战应用(含设备选型指南)

本文深入探讨了超声波探伤技术在风电叶片高空检测中的实战应用,重点分析了相控阵超声、激光超声等技术的选择与挑战。文章提供了详细的设备选型指南,对比了奥林巴斯、GE及国产品牌的优劣,并解读了典型缺陷的超声图谱特征,旨在帮助风电运维工程师安全、高效地完成叶片内部损伤的无损检测与预防性维护。

desk3的博客 885

networkx报错:TypeError: object of type 'dictionary-keyiterator' has no len()

TypeError: object of type 'dictionary-keyiterator' has no len() 这是networkx1.x和network2.x不同导致的 在node集合的基础上加list()即可 更多: https://blog.youkuaiyun.com/csu150208/article/details/104816525 https://networkx.g...

Easy is Boring 1489

EtherCAT报文-BRD(广播读)抓包分析

EtherCAT报文之BRD(广播读)报文Wireshark抓包分析。

kevin1499的博客 1212

从零开始学 Python 之dictionary

Python 中的字典提供了一种灵活的访问和组织数据的方式 dictionary = {'url1':'baidu', 'url':'google', 'num1':12, 'num2':34}; 复制代码 键一般是唯一的,如果键重复,最后的一个键值对会替换前面的键值对,值没有唯一性要求,如下: dic1 = {'name':'zhangsan','age':2

m0_59485658的博客 636

IDEA的使用指南

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

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

从0开始学python:字典dictionary

Python的字典的items(), keys(), values()都返回一个list [python] view plaincopy >>> dict = { 1 : 2, 'a' : 'b', 'hello' : 'world' }   >>> dict.values()   ['b', 2, 'world']   >>> dict.

juno1207的专栏 533

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

今天开始学Python(dictionary的keys,values,items函数)

先来一段代码~ >>>params = {"key1":"value1", "key2":value2", "key3":"value3"} >>>params.keys() ["key1","key2","key3"] >>>params.values() ["value1","value2","value3"] >>>params.items() [("key1","value1")

菜鸟的试炼 2468

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

算24点游戏源代码python_Python写的计算24点小游戏

最近在学习PHP & Python,@hongqn 在他的《Python 于Web 2.0网站的应用》中提到了Python的哲学,我想这个应该就是我一直在寻找的吧。于是花了一下午在优酷上看完了《Python.Django视频教程-台湾辅仁大》的视频教程专辑,开始了写个Python小游戏的计划。系统是Mac OS X Snow Leopard,结果装了个Xcode 3.1,啥东东都编译不了,...

weixin_39873741的博客 454

创建 Python 的 list, set, tuple 和 dict

本文主要探讨一下在 Python 各种创建 list, set, tuple 和 dictionary 的方式。首先看 最常用的创建方式 1 2 3 4 alist = [1, 2] # type(alist) <class 'list'> aset = {1, 2}# type(aset) <class 'set'> atuple = (1,...

一叶不知秋 472

python “list” 和 “dictionary”基础

list 基础 列表有下标 索引从0开始 list = [1,2,3,4,5,6,7,8] list2 = [“asd”,”fgh”,”jkl”] list3 = [1,2,3,4,”asd”,”fgh”] list4 = [list,list2,list3] #列表的嵌套 访问列表中的值 print(list[1]) print(list[1:4]) print...

hahahahaha223的博客 684

python中的dictionary_Python中的Dictionary

Dictionary的创建1 字面量>>>D = {'a': 1, 'b': 2}>>>D{'b': 2, 'a': 1}2 keyword参数>>>D = dict(a = 1, b = 2)>>>D{'a': 1, 'b': 2}3 key/value tuples>>>D = dict([('a', 1...

weixin_39784774的博客 145

Python中的List,Tuple和Dictionary

List 参考:http://www.greenteapress.com/thinkpython/thinkCSpy/html/chap08.html List是一组有序的元素,和String有些类似,只是String中只能是字符,而List中则可以包含任何类型的元素,如下面的例子所示: [10, 20, 30, 40] ["spam", "bungee", "swallow"]

jubincn的专栏 1万+

python dictionary转list_如何将python中的List转化成dictionary

如何将python中的List转化成dictionary问题1:如何将一个list转化成一个dictionary?问题描述:比如在python中我有一个如下的list,其中奇数位置对应字典的key,偶数位置为相应的value解决方案:1.利用zip函数实现2.利用循环来实现3.利用 enumerate函数生成index来实现问题2 我们如何将两个list 转化成一个dictionary?问题描述:...

weixin_39593961的博客 561

Python Data Structures: Dictionary, Tuples

密歇根大学公开课Python Data Structures: Dictionary, Tuples。本文列出易错点,由于给夯实基础的学员进行巩固复习。

Welcome to my homepage 1268

apple.dictionary字典制作及EntityRef错误处理

此文将介绍MacOS下, 将mdx等格式的第三方词典转换并扩展成Mac系统内置词典, 并解决make时出现的EntityRef: expecting ';' 错误.

烽洋的博客 1050

python学习—字典(Dictionary)

字典是Python中非常灵活且常用的数据结构,适用于需要快速根据标识(键)查找对应信息(值)的场景。不像列表,字典中的项是不排序的。因为字典不排序,所以 不能像列表那样切片。字典是python 另一种可变、无序 容器模型,且可存储任意类型对象。本文简单介绍python中的字典(Dictionary),字典经常与列表一起,嵌套使用,在调用的时候有一些特殊格式。

qq_34582066的博客 1364

python3初始化字典-Python3中Dictionary(字典)操作详解

在绝大部分的开发语言中与实际开发过程中,Dictionary扮演着举足轻重的角色。从我们的数据模型到服务器返回的参数到数据库的应用等等,Dictionary的身影无处不在。那么,在Python中,Dictionary是一个怎么样的数据类型呢?在Python中,Dictionary是一种可变的容器类型。所谓容器类型,就是我们放置数据的地方。不同于List的有序、操作时对数据类型统一性的要求较严格,D...

weixin_39818521的博客 3159
上一篇: 开始Python -- String处理(2)
下一篇: UltraEdit中Python语法高亮显示:将下面内容复制到wordfile.txt文件中
ruby_beginner
博客等级 码龄21年 9粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值