Python编程笔记(4)字典及Python代码实现

2022-06-12  本文已影响0人  编程研究坊
zidian

基本的字典操作

 len(d) 返回字典 d 包含的项(键-值对)数。
 d[k] 返回与键 k 相关联的值。
 d[k] = v 将值 v 关联到键 k 。
 del d[k] 删除键为 k 的项。
 k in d 检查字典 d 是否包含键为 k 的项。

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 = input('Name: ')

# Are we looking for a phone number or an address?
request = 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 {} is {}.".format(name, labels[key], people[name][key]))

Name: Beth
Phone number (p) or address (a)? p
Beth's phone number is 9102.

函数 dict

可使用函数 dict 从其他映射(如其他字典)或键-值对序列创建字典。

将字符串格式设置功能用于字典

可在字典中包含各种信息,这样只需在格式字符串中提取所需的信息即可。为此,必须使用 format_map 来指出你将通过一个映射来提供所需的信息。


示例代码

字典方法

--clear

方法 clear 删除所有的字典项,这种操作是就地执行的(就像 list.sort 一样),因此什么都不
返回(或者说返回 None )。

--copy

方法 copy 返回一个新字典,其包含的键-值对与原来的字典相同(这个方法执行的是浅复制,
因为值本身是原件,而非副本)。
当替换副本中的值时,原件不受影响。然而,如果修改副本中的值(就地修改而不是替换),原件也将发生变化。
深复制,即同时复制值及其包含的所有值,可使用模块 copy 中的函数 deepcopy

--fromkeys

方法 fromkeys 创建一个新字典,其中包含指定的键,且每个键对应的值都是 None 。

--get

方法 get 为访问字典项

--items

方法 items 返回一个包含所有字典项的列表,其中每个元素都为 (key, value) 的形式。字典项
在列表中的排列顺序不确定。

--keys

方法 keys 返回一个字典视图,其中包含指定字典中的键。

--pop

方法 pop 可用于获取与指定键相关联的值,并将该键值对从字典中删除。

--popitem

方法 popitem 类似于 list.pop ,但 list.pop 弹出列表中的最后一个元素,而 popitem 随机地弹出一个字典项

--setdefault

方法 setdefault 有点像 get ,因为它也获取与指定键相关联的值,但除此之外, setdefault还在字典不包含指定的键时,在字典中添加指定的键-值对。

--update

方法 update 使用一个字典中的项来更新另一个字典。

--values

方法 values 返回一个由字典中的值组成的字典视图。不同于方法 keys ,方法 values 返回的视图可能包含重复的值。


代码示例

想要完整代码的朋友,可toutiao搜索“编程研究坊”关注后s信我,回复“Python编程笔记4“获取

上一篇下一篇

猜你喜欢

热点阅读