字典就像地址簿,您可以在其中仅通过知道一个人的姓名来查找其地址或联系方式,即我们将键(名称)与值(详细信息)相关联。请注意,密钥必须是唯一的,就像如果您有两个名字完全相同的人一样,您将找不到正确的信息一样。 请注意,您只能将不可变对象(例如字符串)用作字典的键,但可以将不可变或可变对象用作字典的值。这基本上意味着您应该仅将简单对象用作键。 使用记号在字典中指定键对和值对d = {key1 : value1, key2 : value2 } 。请注意,键/值对之间用冒号分隔,两对值之间用逗号分隔,所有这些都括在一对花括号中。 请记住,字典中的键/值对不以任何方式排序。如果您想要一个特定的订单,那么您将必须先对它们进行排序,然后再使用它。 您将使用的词典是dict 该类的实例/对象。 示例(另存为ds_using_dict.py ):
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'])
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))
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 方法访问字典的每个键-值对,该方法返回一个元组列表,其中每个元组包含一对项-键后跟值。我们检索该对并将其分配给变量,name 并address 使用for..in 循环将其分别分配给每个对,然后将这些值打印在for块中。 我们可以简单地使用索引运算符来访问键并分配值,从而添加新的键值对,就像在上述情况下对Guido所做的那样。 我们可以使用in 运算符检查键值对是否存在。 有关dict 该类的方法的列表,请参见help(dict) 。 关键字参数和字典 如果您在函数中使用了关键字参数,那么您已经使用了字典!试想一下-键值对是由您在函数定义的参数列表中指定的,当您访问函数中的变量时,它仅是字典的键访问(在编译器设计中称为符号表)术语)。
|