Python 用Dictionary Literal创建字典

Python 用Dictionary Literal创建字典

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

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

在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。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})

结论

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程