个性化阅读
专注于IT技术分析

Python字典介绍和用法

本文概述

字典用于在python中实现键值对。字典是python中的数据类型, 可以模拟现实生活中的数据排列, 其中某些特定键存在某些特定值。

换句话说, 我们可以说字典是键-值对的集合, 其中值可以是任何python对象, 而键是不可变的python对象, 即数字, 字符串或元组。

字典在python中模拟Java哈希映射。

创建字典

可以使用多个用小括号()括起来并用冒号(:)分隔的键/值对来创建字典。键值对的集合包含在大括号{}中。

下面给出了定义字典的语法。

Dict = {"Name": "Ayush", "Age": 22}

在上面的字典Dict中, 键Name和Age是不可变对象的字符串。

让我们看一个创建字典并打印其内容的示例。

Employee = {"Name": "John", "Age": 29, "salary":25000, "Company":"GOOGLE"}
print(type(Employee))
print("printing Employee data .... ")
print(Employee)

输出

<class 'dict'>
printing Employee data .... 
{'Age': 29, 'salary': 25000, 'Name': 'John', 'Company': 'GOOGLE'}

访问字典值

我们已经讨论了如何通过使用索引在列表和元组中访问数据。

但是, 可以通过使用键在字典中访问值, 因为键在字典中是唯一的。

可以通过以下方式访问字典值。

Employee = {"Name": "John", "Age": 29, "salary":25000, "Company":"GOOGLE"}
print(type(Employee))
print("printing Employee data .... ")
print("Name : %s" %Employee["Name"])
print("Age : %d" %Employee["Age"])
print("Salary : %d" %Employee["salary"])
print("Company : %s" %Employee["Company"])

输出

<class 'dict'>
printing Employee data .... 
Name : John
Age : 29
Salary : 25000
Company : GOOGLE

Python为我们提供了一种使用get()方法访问字典值的替代方法。它会产生与索引相同的结果。

更新字典值

字典是可变数据类型, 可以使用特定键更新其值。

让我们看一个更新字典值的例子。

Employee = {"Name": "John", "Age": 29, "salary":25000, "Company":"GOOGLE"}
print(type(Employee))
print("printing Employee data .... ")
print(Employee)
print("Enter the details of the new employee....");
Employee["Name"] = input("Name: ");
Employee["Age"] = int(input("Age: "));
Employee["salary"] = int(input("Salary: "));
Employee["Company"] = input("Company:");
print("printing the new data");
print(Employee)

输出

<class 'dict'>
printing Employee data .... 
{'Name': 'John', 'salary': 25000, 'Company': 'GOOGLE', 'Age': 29}
Enter the details of the new employee....
Name: David
Age: 19
Salary: 8900
Company:JTP
printing the new data
{'Name': 'David', 'salary': 8900, 'Company': 'JTP', 'Age': 19}

使用del关键字删除元素

可以使用del关键字删除字典中的项目, 如下所示。

Employee = {"Name": "John", "Age": 29, "salary":25000, "Company":"GOOGLE"}
print(type(Employee))
print("printing Employee data .... ")
print(Employee)
print("Deleting some of the employee data") 
del Employee["Name"]
del Employee["Company"]
print("printing the modified information ")
print(Employee)
print("Deleting the dictionary: Employee");
del Employee
print("Lets try to print it again ");
print(Employee)

输出

<class 'dict'>
printing Employee data .... 
{'Age': 29, 'Company': 'GOOGLE', 'Name': 'John', 'salary': 25000}
Deleting some of the employee data
printing the modified information 
{'Age': 29, 'salary': 25000}
Deleting the dictionary: Employee
Lets try to print it again 
Traceback (most recent call last):
  File "list.py", line 13, in <module>
    print(Employee)
NameError: name 'Employee' is not defined

迭代字典

可以使用for循环迭代字典, 如下所示。

例子1

#for循环打印字典的所有键

Employee = {"Name": "John", "Age": 29, "salary":25000, "Company":"GOOGLE"}
for x in Employee:
	print(x);

输出

Name
Company
salary
Age

例子2

#for循环打印字典的所有值

Employee = {"Name": "John", "Age": 29, "salary":25000, "Company":"GOOGLE"}
for x in Employee:
	print(Employee[x]);

输出

29
GOOGLE
John
25000

例子3

#for循环使用values()方法打印字典的值。

Employee = {"Name": "John", "Age": 29, "salary":25000, "Company":"GOOGLE"}
for x in Employee.values():
	print(x);

输出

GOOGLE
25000
John
29

例子4

#for循环通过使用items()方法打印字典中的项目。

Employee = {"Name": "John", "Age": 29, "salary":25000, "Company":"GOOGLE"}
for x in Employee.items():
	print(x);

输出

('Name', 'John')
('Age', 29)
('salary', 25000)
('Company', 'GOOGLE')

字典键的属性

1.在字典中, 我们不能为相同的键存储多个值。如果我们为单个键传递多个值, 则最后分配的值将被视为键的值。

考虑以下示例。

Employee = {"Name": "John", "Age": 29, "Salary":25000, "Company":"GOOGLE", "Name":"Johnn"}
for x, y in Employee.items():
	print(x, y)

输出

Salary 25000
Company GOOGLE
Name Johnn
Age 29

2.在python中, 键不能是任何可变对象。我们可以使用数字, 字符串或元组作为键, 但是不能使用任何可变对象(例如列表)作为字典中的键。

考虑以下示例。

Employee = {"Name": "John", "Age": 29, "salary":25000, "Company":"GOOGLE", [100, 201, 301]:"Department ID"}
for x, y in Employee.items():
	print(x, y)

输出

Traceback (most recent call last):
  File "list.py", line 1, in 
           
            
    Employee = {"Name": "John", "Age": 29, "salary":25000, "Company":"GOOGLE", [100, 201, 301]:"Department ID"}
TypeError: unhashable type: 'list'

内置词典功能

内置的python字典方法及其说明如下。

SN Function Description
1 cmp(dict1, dict2) 它比较两个字典的项, 如果第一个字典的值大于第二个字典的值, 则返回true, 否则返回false。
2 len(dict) 它用于计算字典的长度。
3 str(dict) 它将字典转换为可打印的字符串表示形式。
4 type(variable) 它用于打印所传递变量的类型。

内置词典方法

内置的python字典方法及其说明如下。

SN Method Description
1 dic.clear() 用于删除字典中的所有项目。
2 dict.copy() 它返回字典的浅表副本。
3 dict.fromkeys(可迭代, 值=无, /) 从迭代器创建一个新字典, 其值等于value。
4 dict.get(key, 默认=” None”) 它用于获取为传递的密钥指定的值。
5 dict.has_key(密钥) 如果字典包含指定的键, 则返回true。
6 dict.items() 它以元组的形式返回所有键值对。
7 dict.keys() 它返回字典的所有键。
8 dict.setdefault(key, default =” None”) 如果未在字典中指定密钥, 则用于将密钥设置为默认值
9 dict.update(dict2) 它通过将dict2的键值对添加到此字典来更新字典。
10 dict.values() 它返回字典的所有值。
11 len()
12 popItem()
13 pop()
14 count()
15 index()
赞(0) 打赏
未经允许不得转载:srcmini » Python字典介绍和用法
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏