小白教程

 找回密码
 立即注册

字典

发布者: 小白教程

字典就像地址簿,您可以在其中仅通过知道一个人的姓名来查找其地址或联系方式,即我们将(名称)与(详细信息)相关联请注意,密钥必须是唯一的,就像如果您有两个名字完全相同的人一样,您将找不到正确的信息一样。

请注意,您只能将不可变对象(例如字符串)用作字典的键,但可以将不可变或可变对象用作字典的值。这基本上意味着您应该仅将简单对象用作键。

使用记号在字典中指定键对和值对d = {key1 : value1, key2 : value2 }请注意,键/值对之间用冒号分隔,两对值之间用逗号分隔,所有这些都括在一对花括号中。

请记住,字典中的键/值对不以任何方式排序。如果您想要一个特定的订单,那么您将必须先对它们进行排序,然后再使用它。

您将使用的词典是dict该类的实例/对象

示例(另存为ds_using_dict.py):

# 'ab' is short for 'a'ddress'b'ook

ab = {
    'Swaroop': 'swaroop@swaroopch.com',
    'Larry': 'larry@wall.org',
    'Matsumoto': 'matz@ruby-lang.org',
    'Spammer': 'spammer@hotmail.com'
}

print("Swaroop's address is", ab['Swaroop'])

# Deleting a key-value pair
del ab['Spammer']

print('\nThere are {} contacts in the address-book\n'.format(len(ab)))

for name, address in ab.items():
    print('Contact {} at {}'.format(name, address))

# Adding a key-value pair
ab['Guido'] = 'guido@python.org'

if 'Guido' in ab:
    print("\nGuido's address is", ab['Guido'])

输出:

$ python ds_using_dict.py
Swaroop's address is swaroop@swaroopch.com

There are 3 contacts in the address-book

Contact Swaroop at swaroop@swaroopch.com
Contact Matsumoto at matz@ruby-lang.org
Contact Larry at larry@wall.org

Guido's address is guido@python.org

这个怎么运作

我们ab使用已经讨论过的符号创建字典然后,我们通过使用索引运算符指定键来访问键值对,如列表和元组的上下文中所述。遵守简单的语法。

我们可以使用我们的老朋友-del语句删除键/值对我们只需为要删除的键指定字典和索引运算符,然后将其传递给del语句。无需知道与该操作的键相对应的值。

接下来,我们使用字典的items方法访问字典的每个键-值对,该方法返回一个元组列表,其中每个元组包含一对项-键后跟值。我们检索该对并将其分配给变量,nameaddress使用for..in循环将其分别分配给每个对,然后将这些值打印在for块中。

我们可以简单地使用索引运算符来访问键并分配值,从而添加新的键值对,就像在上述情况下对Guido所做的那样。

我们可以使用in运算符检查键值对是否存在

有关dict该类的方法的列表,请参见help(dict)

关键字参数和字典

如果您在函数中使用了关键字参数,那么您已经使用了字典!试想一下-键值对是由您在函数定义的参数列表中指定的,当您访问函数中的变量时,它仅是字典的键访问(在编译器设计中称为符号表)术语)。

上一篇:元组下一篇:序列

Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )

GMT+8, 2024-11-24 12:25 , Processed in 0.014630 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

返回顶部