Menu Close

Python 字典(Dict): Update, Cmp, Len, Sort, Copy, Items, str Example

什么是Python中的字典?

字典在Python是数据值的无序和多变收集保存键-值对。字典中的每个键值对都将键映射到其关联值,从而使其更加优化。python中的字典是通过使用花括号({})括以逗号分隔的键/值对列表来声明的。Python字典分为两个元素:键和值。

  • 键将是一个元素
  • 值可以是列表,也可以是列表中的列表,数字等。

在此Python教程中,您将学习:

  • 什么是Python中的字典?
  • Python字典的语法:
  • 字典键的属性
  • Python字典方法
  • 更新字典
  • 检查字典中是否已存在给定键
  • Python字典内置函数
  • 变量类型
  • Python清单cmp()方法
  • 字典Str(dict)
  • 合并字典
  • 使用update()方法合并两个字典
  • 使用**方法合并字典(从Python 3.5开始)
  • 字典成员资格测试

Python字典的语法

Dict = { ' Tim': 18,  xyz,.. }

字典在大括号内列出,在这些大括号内声明键和值。每个键均以冒号(:)分隔其值,而逗号则分隔每个元素。

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in Dict.keys():
    if key in Boys.keys():
        print True
    else:       
        print False

Python 3示例

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in list(Dict.keys()):
    if key in list(Boys.keys()):
        print(True)
    else:       
        print(False)

  • 代码中的forloop检查主字典中的每个键是否有Boys键
  • 如果它存在于主字典中,则应打印true,否则应打印false
  • 当您执行代码时,它会打印“ True”三遍,因为“ Boys”字典中有三个元素
  • 因此,这表明“男孩”存在于我们的主词典(字典)中

字典排序

在字典中,您还可以对元素进行排序。例如,如果我们要按字母顺序打印字典元素的名称,则必须使用for循环。它将相应地对字典的每个元素进行排序。

Python 2示例

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = Dict.keys()
Students.sort()
for S in Students:
      print":".join((S,str(Dict)))

Python 3示例

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = list(Dict.keys())
Students.sort()
for S in Students:
      print(":".join((S,str(Dict))))

  • 我们将字典的变量学生声明为“字典”。
  • 然后,我们使用代码Students.sort,它将对字典中的元素进行排序
  • 但是为了对字典中的每个元素进行排序,我们通过声明变量S来运行for循环
  • 现在,当我们执行代码时,for循环将调用字典中的每个元素,并将按顺序打印字符串和值

Python字典内置函数

字典len()方法

len()函数给出字典中的对数。

例如,

Python 2示例

Dict = {'Tim':18​​,'Charlie':12,'Tiffany':22,'Robert':25}	 
print“ Length:%d”%len(Dict)

Python 3示例

Dict = {'Tim':18​​,'Charlie':12,'Tiffany':22,'Robert':25}	 
print(“ Length:%d”%len(Dict))

执行len(Dict)函数时,由于字典中有四个元素,因此输出为“ 4”

变量类型

Python不需要显式声明保留内存空间;它会自动发生。使用为变量“ =”等号分配值。确定变量类型的代码是“%type(Dict)”。

Python 2示例

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "variable Type: %s" %type (Dict)

Python 3 示例

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("variable Type: %s" %type (Dict))
  • 使用代码%type来了解变量类型
  • 执行代码时,它告诉变量类型是字典

Python清单cmp()方法

比较方法cmp()在Python中用于比较两个字典的值和键。如果两个字典相等,则method返回0;如果dic1> dict2则返回1;如果dict1 <dict2则返回-1。

Python 2示例

Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}	
print cmp(Girls, Boys)

Python 3 示例

cmp is not supported in Python 3
  • 我们有两个字典名称,“boys”和“girls”。
  • 您在代码“ cmp(Girls,Boys)”中首先声明的那个都将被视为字典1。在本例中,我们首先声明了“ Girls”,因此它将被视为字典1,而男孩将被视为字典2。
  • 当执行代码时,它输出-1,表示我们的字典1小于字典2。

字典Str(dict)

使用Str()方法,可以使字典成为可打印的字符串格式。

Python 2示例

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "printable string:%s" % str (Dict)

Python 3示例

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print("printable string:%s" % str (Dict))
  • 使用代码%str(Dict)
  • 它将字典元素返回为可打印的字符串格式

这是所有词典方法的列表

方法 描述 句法
复制() 将整个词典复制到新词典 dict.copy()
update() 通过将新条目或键值对添加到现有条目或删除现有条目来更新字典。 Dict.update([other])
items() 返回字典中的元组对(键,值)的列表。 dictionary.items()
分类() 您可以对元素进行排序 dictionary.sort()
len() 给出字典中的对数。 len(dict)
cmp() 比较两个字典的值和键 cmp(dict1,dict2)
Str() 使字典成为可打印的字符串格式 str(dict)

合并字典

这里将了解如何将两个给定的字典合并为一个字典。

我有两个字典,如下所示:

字典1:my_dict1

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

字典2:my_dict2
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

让我们合并这两个字典my_dict1和my_dict2并使用namemy_dict创建一个字典。

使用update()方法合并两个字典

update()方法将帮助我们将一个字典与另一个字典合并。在示例中,我们将使用my_dict2更新my_dict1。使用update()方法后,my_dict1将具有my_dict2的内容,如下所示:

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

my_dict1.update(my_dict2)

print(my_dict1)

输出:

{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}

使用**方法合并字典(从Python 3.5开始)

**在Python中称为Kwargs,它将与Python 3.5+版本一起使用。使用**,我们可以合并两个字典,它将返回合并的字典。在变量前面使用**会将变量替换为其所有内容。

这是一个使用**合并两个目录的工作示例。

my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}

my_dict2 = {"firstName" : "Nick", "lastName": "Price"}

my_dict =  {**my_dict1, **my_dict2} 

print(my_dict)

输出:

{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}

字典成员资格测试

您可以测试关键字是否存在于字典中。只能对字典的键而不是值进行此测试。成员资格测试使用in关键字完成。当您使用in关键字检查字典中的键时,如果键存在,则表达式返回true,否则返回false。

这是显示在字典的会员测试的示例。

my_dict = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
print("email" in my_dict)
print("location" in my_dict)
print("test" in my_dict)

输出:

True
True
False

概要:

  • 编程语言中的字典是一种数据结构,用于存储以某种方式连接的信息。
  • Python字典定义为键和值两个元素。
  • 词典不会以任何特定顺序存储其信息,因此您可能无法以输入顺序来获取信息。
  • 键将是一个元素
  • 值可以是列表,也可以是列表中的列表,数字等。
  • 每个密钥不允许多个条目(不允许重复密钥)
  • 字典中的值可以是任何类型,而键必须是不变的,例如数字,元组或字符串。
  • 字典键区分大小写-相同的键名,但大小写不同,在Python词典中被视为不同的键。


					
Posted in Python

发表评论

相关链接