使用字典字面量创建字典的 Python 程序


字典用于像映射一样以键:值对的形式存储数据值(与其他数据类型不同,它仅将单个值作为元素)。字典中提供了键:值以使其更有效。

键是唯一的。字典键必须唯一。因此,字典中不允许重复值。字典项是有序的、可更改的、不可变的。可更改的意思是,在创建字典后,我们可以添加或删除项。

在 Python 中,字典定义为数据类型为“dict”的对象。字典项中的值可以是任何数据类型,例如字符串、整数、布尔值和列表。为了确定字典包含多少个项,我们使用 len() 函数。

字典键区分大小写,即,相同键名但大小写不同的键在 Python 字典中被视为不同的键。

如何使用字典字面量创建字典?

我们可以使用花括号 {} 创建字典。通过将元素放置在花括号 {} 内,使用冒号 (:) 分隔键值,并在每对之间使用逗号分隔。字典可以包含整数、字符串、布尔值和列表。这些类型的字典称为混合字典。

这里,这些花括号 {}、冒号 (:)、逗号 (,) 是字面量。

Python 提供了内置函数 dict() 方法用于创建字典。空花括号 {} 用于创建空字典。

示例

这里,在这个程序中,我们使用花括号 {} 创建了字典,并使用冒号 (:) 分隔了键值对。字典“a”包含整数和字符串。字典“b”仅包含整数,同样“c”包含字符串和列表。字典“d”是空字典。

a= {1:'rose',2:'lily',3:'jasmine'}
b= {1:5,3:7,8:6,9:4}
c= {'spider':'man','captain':'america', 'iron': ["tony","starks"]}
d= {}
print(a)
print(b)
print(c)
print(d)

输出

{1: 'rose', 2: 'lily', 3: 'jasmine'}
{1: 5, 3: 7, 8: 6, 9: 4}
{'spider': 'man', 'captain': 'america', 'iron': ['tony', 'starks']}
{} 

字典类型

Python 中有四种类型的字典:

  • 有序字典

  • 默认字典

  • 链式映射

  • 计数器

有序字典

在这种类型的字典中,键是有序的,它保持元素的插入顺序。 dict() ordereddict() 之间的唯一区别在于,ordereddict() 保留键插入的顺序。而 dict 不会跟踪插入顺序。

示例

这里,在这个程序中,我们导入了 ordereddict() 来创建有序字典。我们观察到输出的顺序与插入顺序相同。

from collections import OrderedDict
a= OrderedDict()
a[1]= "apple"
a[2]= "mango"
a[3]= "cherry"
for key,value in a.items():
   print(key,value)

输出

1 apple
2 mango
3 cherry

默认字典

默认字典是 collection 模块中存在的类似字典的容器。在这些类型的字典中,为不存在的键提供键的默认值。例如:

示例

这里,在这个程序中,我们导入了 defaultdict() 来创建默认字典。我们观察到输出对于不存在的键显示为“不存在”。

from collections import defaultdict
def def_value():
   return "not existing"
a=defaultdict(def_value)
a[1]= "hello"
print(a[2])

输出

Not existing

链式映射

它是一个容器,将多个字典组合成一个单元。它存在于 collections 库中。Maps() 返回相应的键以及相应字典的值。例如:

示例

这里,在这个程序中,我们导入了 ChainMap() 来创建链式映射。chainmap() 添加了两个列表并将其转换为一个。

from collections import ChainMap
a= {1:'apple',2:'cherry'}
b= {3:'feed', 4:'dogs'}
c= ChainMap(a,b)
print(c)

输出

ChainMap({1: 'apple', 2: 'cherry'}, {3: 'feed', 4: 'dogs'})

Counter()

它是一个集合,其中元素存储为字典键,它们的计数存储为字典值。Counter() 用于计算句子中单词的频率。

示例

这里,在这个程序中,我们导入了 Counter() 来创建 Counter 字典。Counter() 拆分句子并将其转换为字典。

from collections import Counter
l= 'an apple a day keeps doctor away'
a= Counter(l.split())
print("counter dict:")
print(a)

输出

counter dict: 
Counter({'an': 1, 'apple': 1, 'a': 1, 'day': 1, 'keeps': 1, 'doctor': 1, 'away': 1})

结论

在本文中,我们简要讨论了如何使用字面量创建字典以及字典的类型。

更新于: 2023年4月24日

867 次查看

启动你的 职业生涯

通过完成课程获得认证

开始
广告