python学习笔记:字典的使用示例详解
admin
2023-07-31 02:05:48
0

经典字典使用函数
dict:通过其他映射(比如其他字典)或者(键,值)这样的序列对建立字典。当然dict成为函数不是十分确切,它本质是一种类型。如同list。

复制代码 代码如下:
items=[(\’name\’,\’zhang\’),(\’age\’,42)]
d=dict(items)
d[\’name\’]

len(d):返回项的数量
d[k]:返回键k上面的值。
d[k]=v:将k对应的值设置为k。
del d[k]:删除字典中的这一项。
k in d:检查d中是否含有键为k的项。注:只能查找键,不能查找值。
简单的电话本示例:

复制代码 代码如下:
# A simple database
# A dictionary with person names as keys. Each person is represented as
# another dictionary with the keys \’phone\’ and \’addr\’ referring to their phone
# number and address, respectively.
people = {
    \’Alice\’: {
        \’phone\’: \’2341\’,
        \’addr\’: \’Foo drive 23\’
    },
    \’Beth\’: {
        \’phone\’: \’9102\’,
        \’addr\’: \’Bar street 42\’
    },
    \’Cecil\’: {
        \’phone\’: \’3158\’,
        \’addr\’: \’Baz avenue 90\’
    }
}
# Descriptive labels for the phone number and address. These will be used
# when printing the output.
labels = {
    \’phone\’: \’phone number\’,
    \’addr\’: \’address\’
}
name = raw_input(\’Name: \’)
# Are we looking for a phone number or an address?
request = raw_input(\’Phone number (p) or address (a)? \’)
# Use the correct key:
if request == \’p\’: key = \’phone\’
if request == \’a\’: key = \’addr\’
# Only try to print information if the name is a valid key in
# our dictionary:
if name in people: print \”%s\’s %s is %s.\” % \\
    (name, labels[key], people[name][key])

字典方法
clear:清除字典中的所有项。

复制代码 代码如下:
x.clear()

copy:浅复制字典。

复制代码 代码如下:
y=x.copy()

deepcopy:同样是复制,来看看和copy的区别。

复制代码 代码如下:
from copy import deepcopy
d={}
d[\’names\’]=[\’as\’,\’sa\’]
c=d.copy()
dc=deepcopy(d)
d[\’names\’].append(\’ad\’)

fromkeys:给指定的键建立新的字典,每个键默认对应的值为none.
复制代码 代码如下:
{}.fromkeys([\’name\’,\’age\’])

get:更为宽松的访问字典项的方法。
复制代码 代码如下:
d.get(\’name\’)

复制代码 代码如下:
# A simple database using get()
# Insert database (people) from Listing 4-1 here.
labels = {
    \’phone\’: \’phone number\’,
    \’addr\’: \’address\’
}
name = raw_input(\’Name: \’)
# Are we looking for a phone number or an address?
request = raw_input(\’Phone number (p) or address (a)? \’)
# Use the correct key:
key = request # In case the request is neither \’p\’ nor \’a\’
if request == \’p\’: key = \’phone\’
if request == \’a\’: key = \’addr\’
# Use get to provide default values:
person = people.get(name, {})
label = labels.get(key, key)
result = person.get(key, \’not available\’)
print \”%s\’s %s is %s.\” % (name, label, result)

has_key:检查字典中是否含有给定的键。d.haos_key()。值返回True ,False。

items:将所有字典项目一列表方式返回。

iteritems:方法大致相同,但是会返回一个迭代器而不是列表。

keys:将字典中的键以列表的方式返回。(注意区分和items的区别)

iterkeys:返回针对键的迭代器。

pop:获得对应给定键的值,然后将键-值对删除。

popitem:弹出一个随机的项,

setdefault:既能获得与给定键相关的值,又能在字典中不含有该键的情况下设定相应的键值。

update:用一个字典更新另一个字典。

复制代码 代码如下:
d={\’1\’:\’d\’,\’2\’:\’s\’,\’3\’:\’a\’}
x={\’1\’,\’jk\’}
d.update(x)

values:以列表的形式返回字典中的值。

itervalues:返回值得迭代器。

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
python绘图库Matplo... 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是pyt...
Prometheus+Graf... 一,Prometheus概述 1,什么是Prometheus?Prometheus是最初在Sound...