Python字典数据类型用于实现真实世界的字典逻辑。Python字典用于存储由键/值对组成的单个或多个项。字典是用花括号创建的,并通过对键值对进行配对来放置它们:。键值对用逗号分隔。
创建字典
只需使用花括号并将键值对放入其中,就可以创建Python字典。在下面的示例中,我们创建了一个包含3个项或键值对的字典。
names = { "1":"ismail" , "2":"ali" , "3":"elif" }
在创建或定义字典时,定义可以跨越多行而没有问题。但是键值对是原子的,单个键值对不跨越多行。
names = { "1":"ismail" , "2":"ali" , "3":"elif" }
在这本字典里 "1"
是关键 "ismail"
是值,它们与 :
创建项目。每一项都用 ,
逗号。
或者 empty
可以在不提供任何项或键值对的情况下创建字典。我们可以使用dict()方法,它将创建一个没有任何项的字典并设置为变量。在下面的示例中,我们创建了一个名为 姓名 没有任何数据或项目的。
names = dict()
访问字典项
通过提供键,可以以不同的方式访问字典中的项。最常用的方法是使用方括号并将键放在其中。如果相关键存在,则返回其值。如果提供的密钥不存在,则不会返回任何内容。
a = names["1"]
print(a)
# Output is ismail
c = names["3"]
print(c)
# Output is elif
[]访问器还有另一种方法,即 get()
方法。这个 get()
方法是由字典提供的,它本身可以通过提供键来调用。
a = names.get("1")
print(a)
# Output is ismail
c = names.get("3")print(c)
# Output iselif
更改项目值
项值可以通过使用它们的键轻松更改。要更改项值,应使用 []
方括号和新值的设置应类似于变量赋值。
names["1"] = "ahmet"
显示字典长度
词典可以包含一个或多个条目。可以使用 len()
方法简单。
names = { "1":"ismail" , "2":"ali" , "3":"elif" }print(len(names))#Output is 3
检查密钥是否存在
这个 in
关键字用于检查指定字典中是否存在给定的键。在下面的示例中,我们将检查 "1"
存在于词典中。
names = { "1":"ismail" , "2":"ali" , "3":"elif" }if "1" in names: print("Exist")#Output Exist
检查值是否存在
即使没有像检查键存在这样的本地方法,我们也可以检查指定的字典是否有给定的值。首先,我们将把字典的所有值提取到列表中,然后使用 in
关键字。
names = { "1":"ismail" , "2":"ali" , "3":"elif" }
if "ismail" in names.values():
print("Exist")#Output Exist
添加新项目
在词典中添加新条目很容易。这与更改字典中的值相同。我们将只提供方括号中的键,并指定要设置的值。
names = { "1":"ismail" , "2":"ali" , "3":"elif" }names["4"] = "ahmet"
删除/删除项目
字典提供了名为 pop()
以返回并删除/删除用其键指定的项。我们将提供将被删除的项密钥。
names = { "1":"ismail" , "2":"ali" , "3":"elif" }
names.pop("1")
或者 popitem()
方法可用于删除最后添加或插入的项。正如我们所期望的,不需要指定任何键。
names = { "1":"ismail" , "2":"ali" , "3":"elif" }
names.popitem()
还有 del()
方法可用于从字典中删除指定项。应指定项键。如果未指定键,则字典及其所有项将被完全删除。
names = { "1":"ismail" , "2":"ali" , "3":"elif" }
del(names["1"])
显示所有键
这个 keys()
方法可用于返回或显示指定字典的所有键。钥匙将作为清单提供。
names = { "1":"ismail" , "2":"ali" , "3":"elif" }keys = names.keys()
显示所有值
这个 values()
方法可用于返回或显示指定字典的所有值。值将作为列表提供。
names = { "1":"ismail" , "2":"ali" , "3":"elif" }
keys = names.values()
复制或克隆词典
可以使用 copy()
方法返回字典的完整副本。
names = { "1":"ismail" , "2":"ali" , "3":"elif" }newnames = names.copy()
复制或克隆词典的另一种方法是使用 dict()
方法,其中我们将提供要作为参数复制的字典。
names = { "1":"ismail" , "2":"ali" , "3":"elif" }
newnames = dict(names)
嵌套字典
到目前为止,我们已经在使用没有嵌套项的单层字典。嵌套字典包含单个或多个项,其中项值也是字典。
users = { "İsmail Baydan":{"username":"ismail","password":"123"} "Ahmet Baydan":{"username":"ahmet","password":"456"}}
循环或迭代项
Dictionary数据类型是iterable类型,这意味着可以使用诸如for keyword之类的机制对Dictionary的项进行迭代或循环。在迭代的每一步中,下一个项都会返回它的键,我们可以使用这个键来获取值。
names = { "1":"ismail" , "2":"ali" , "3":"elif" }for key in names: print("Key is "+key) print("Name is "+names[key])
我们也可以在不使用键的情况下迭代这些值。我们将使用字典 values()
方法,该方法将以iterable方式返回指定字典的所有值。
names = { "1":"ismail" , "2":"ali" , "3":"elif" }
for name in names.values():
print("Name is "+name)
我们还可以通过返回键和值来迭代字典项。词典 items()
方法可以用来以一种可迭代的方式返回键和值,在这种方式中我们可以循环for。
names = { "1":"ismail" , "2":"ali" , "3":"elif" }
for key , value in names.items() print("Key is "+key) print("Name is "+value)
合并或联接词典
多个词典可以以不同的方式合并在一起。第一种方法是使用 update()
方法,其中第一个字典内容将提供给第二个one update()方法,并且第二个字典中的所有项都将更新,如果第一个字典项不存在,则将添加它们。
names1 = { "1":"ismail" , "2":"ali" , "3":"elif" }names2 = { "4":"ecrin" , "5":"ahmet" }names2.update(names1)
或者,我们可以让事情变得更清楚,并创建一个空字典,其中第一个和第二个字典合并到第三个空字典中。
names1 = { "1":"ismail" , "2":"ali" , "3":"elif" }
names2 = { "4":"ecrin" , "5":"ahmet" }
names = dict()names.update(names1)names.update(names2)
字典方法
作为一种流行的数据类型,Python字典提供了有用的操作方法。字典提供了以下方法。
方法 | 说明 |
---|---|
清除() | 从字典中删除所有项或键值对 |
复制() | 返回字典的副本 |
fromkeys() | 返回具有指定键和值的字典。这可以称为子字典 |
得到( 钥匙 ) | 返回指定键的值 |
项目() | 返回包含每个键值对的元组的列表 |
密钥() | 返回字典所有键的列表 |
流行音乐( 钥匙 ) | 删除具有指定键的项 |
popitem() | 删除最后插入的项或键值对 |
设置默认值() | 返回指定键的值。如果键不存在:添加具有提供的键值的项 |
更新() | 使用指定的键值对更新字典 |
值() | 返回字典中所有值的列表 |