Python 字典

Python 字典(或 dict)是一个无序、可变、有索引的集合。与字符串不同,它是可变的,因此字典可以扩展或缩小。

我们可以通过简单地放置空括号或使用 dict() 来声明一个字典。声明字典的语法是 dict。

name = {
    <key>:<value>,
    <key>:<value>,
    .
    .
    .
    <key>:<value>
    }

或者您可以使用 dict 关键字创建一个新字典。

name = dict([
    (<key>:<value>),
    .
    .
    .
    (<key>:<value>)
    ])

如何使用 dict 创建 Python 字典?

在这个编程语言中声明或创建字典的可用方法列表。我们可以使用花括号创建它,并且所有元素都用逗号分隔。

# Empty
a = {}
a = dict()

# Integer
b = {1: 'apple', 2: 'Orange', 3: 'Kiwi'}

# String
c = {'fruit': 'apple', 'name': 'Kevin'}

d = {'name': 'TutorialGateway', 'age': 25}
e = {'name': 'TutorialGateway', 1: 22}
f = {'name': 'TutorialGateway', 1: [1, 2, 3]}


# For Sequence of Key-Value Pairs
g = dict([(1, 'apple'), (2, 'Orange'), (3, 'Kiwi')])

h = dict({1: 'apple', 2: 'Orange', 3: 'Kiwi'})

如何访问 Python 字典项?

尽管字典是一个无序集合,但我们可以使用它们的键访问值。这可以通过将键放在方括号中或使用 get 函数来完成。如果访问不存在的键,get 函数返回 None。而将键放在方括号中的方法会抛出错误。

Dname[key] 或 Dname.get(key)

# Access Items Example

a = {'name': 'Kevin', 'age': 25, 'job': 'Developer'}

# Print 
print(a)

print("\nName :  ",  a['name'])
print("Age  :  ",  a['age'])
print("Job  :  ",  a['job'])

# using get()
print("\nItems - Name  :  ",  a.get('name'))
print("Items - Age   :  ",  a.get('age'))
print("Items - Job   :  ",  a.get('job'))
{'name': 'Kevin', 'age': 25, 'job': 'Developer'}

Name : Kevin
Age : 25
Job : Developer

Items - Name : Kevin
Items - Age : 25
Items - Job : Developer

插入和更新字典项

请记住,字典是可变的,因此您可以在任何时间点插入或更新任何元素。使用以下语法插入或更新值。

DName[key] = value

如果键存在,它会更新值。如果 DName 没有该键,它会插入一个新键并赋予给定值。

da = {'name': 'Kevin', 'age': 25}

# Print Elements
print("Items  :  ",  da)

# Add an Item
da['job'] = 'Programmer'
print("\nItems  :  ",  da)

# Update an Item
dat['name'] = 'Python'
print("\nItems  :  ",  da)
Items : {'name': 'Kevin', 'age': 25}
Items : {'name': 'Kevin', 'age': 25, 'job': 'Programmer'}
Items : {'name': 'Python', 'age': 25, 'job': 'Programmer'}

如何复制 Python 字典项?

copy 函数将给定的字典浅拷贝到一个全新的字典中。您也可以将其放入列表中。

fruits = {'a': 'apple', 'o': 'Orange', 'm': 'Mango', 'k':'Kiwi'}

print(fruits)
print("Length: ", len(fruits))

new_fruits = fruits.copy()
print("\n", new_fruits)
print("Length: ", len(new_fruits))
{'a': 'apple', 'o': 'Orange', 'm': 'Mango', 'k': 'Kiwi'}
Length: 4

{'a': 'apple', 'o': 'Orange', 'm': 'Mango', 'k': 'Kiwi'}
Length: 4

移除字典项

有几种方法可以删除元素。pop 方法删除给定键处的值并打印已删除的项。Python 的 popitem 删除最后插入的项(键值对)。

db = {1: 'apple', 2: 'Orange', 3: 'Kiwi', 4: 'Banana'}

# Remove and Prints Item using pop()
print("Removed Item      :  ",  db.pop(3))
print("Remaining Items  :  ",  db)

# Remove and Prints Item using popitem()
print("\nRemoved Item      :  ",  db.popitem())
print("Remaining Items  :  ",  db)
Removed Item : Kiwi
Remaining Items : {1: 'apple', 2: 'Orange', 4: 'Banana'}

Removed Item : (4, 'Banana')
Remaining Items : {1: 'apple', 2: 'Orange'}

del 语句删除指定键处的字典项或值。如果未提供键,编译器将完全删除它们。在此处,最后一条语句会引发错误。

dm = {1: 'apple', 2: 'Orange', 3: 'Kiwi', 4: 'Banana'}

print("Items are = ", dm)

# Remove Item using del
del dm[2]
print("Items are = ", dm)

# Remove All Items using del
del dm
print("Items are = ", dm)
Python Dictionary Example

clear 语句删除或清除项并返回空花括号。

dc = {1: 'apple', 2: 'Banana' , 3: 'Orange', 4: 'Kiwi'}
print("Items  :  ",  dc)

# Remove all Items using clear()
dc.clear()
print("Items  :  ",  dc)
Items  :   {1: 'apple', 2: 'Banana', 3: 'Orange', 4: 'Kiwi'}
Items  :   {}

Python 字典迭代项

For 循环是遍历或迭代字典元素最常用的方法。

用于打印字典键的 For 循环

for 循环帮助我们迭代并打印键。

dd = {1: 'apple', 2: 'Banana' , 3: 'Orange', 4: 'Kiwi'}

for val in dd:
    print(val)
1
2
3
4

用于打印字典值的 For 循环

for 循环迭代并打印其中的值。

de = {1: 'apple', 2: 'Banana' , 3: 'Orange', 4: 'Kiwi'}

for val in de:
    print(de[val])
apple
Banana
Orange
Kiwi

此示例打印键和值。

de = {1: 'apple', 2: 'Berry' , 3: 'Orange', 4: 'Kiwi', 5: 'Cherry'}

for val in de:
    print(val, "Key Value = ", de[val])
1 Key Value =  apple
2 Key Value =  Berry
3 Key Value =  Orange
4 Key Value =  Kiwi
5 Key Value =  Cherry

values 函数有助于打印项。在 for 循环中使用此函数返回值。

df = {1: 'apple', 2: 'Banana' , 3: 'Orange', 4: 'Kiwi'}

for i in df.values():
    print(i)
apple
Banana
Orange
Kiwi

items 函数

您可以使用 for 循环中的字典 items 函数打印或返回键和值。items 函数对于访问单个项非常有用。

dg = {1: 'apple', 2: 'Banana' , 3: 'Orange', 4: 'Kiwi'}

for i, j in dg.items():
    print(i, j)
1 apple
2 Banana
3 Orange
4 Kiwi

Python 字典方法

它提供以下内置函数或方法

  • clear() 删除所有元素。
  • copy() 浅拷贝。
  • fromkeys() 返回一个新的字典,其中键从序列开始并等于值。
  • get() 返回给定键的值。
  • items() 返回一个包含项(键值对)的列表。
  • keys() 打印键列表。
  • pop() 删除并打印给定键的项。用于删除。
  • popitem() 删除并打印最后插入的键值对。
  • setdefault() – 如果给定键存在,它返回其值。如果不存在,此函数插入一个带有给定值的键并打印该值。
  • update() 更新键值对。
  • values() 返回所有值的列表。

Python 常用字典方法

可以在列表、字典和元组上使用的常用方法。以下示例帮助您理解这些常用方法。

字典 len 函数查找所有可用项的总和。sum 函数查找所有元素的总和。

da = {1: 10, 2: 20, 3: 30, 4: 40, 5: 50}
print(da)

length = len(da)
print("The Length: ", length)
print()

db = {'name': 'Kevin', 'age': 25}
print(db)
print("The Length: ", len(db))

total = sum(da.values())
print("\nThe sum of Values: ", total)

key_total = sum(da.keys())
print("The sum of Keys: ", key_total)
{1: 10, 2: 20, 3: 30, 4: 40, 5: 50}
The Length: 5

{'name': 'Kevin', 'age': 25}
The Length: 2

The sum of Values: 150
The sum of Keys: 15

字典 min 函数查找最小值。max 函数查找最大元素。

da = {3: 30, 4: 40, 1: 120, 2: 20, 5: 50}
print(da)

min_value = min(da.values())
print("\nThe Minimum Val: ", min_value)

min_key = min(da.keys())
print("The Minimum Ky: ", min_key)

max_value = max(da.values())
print("\nThe Maximum Val: ", max_value)

max_key = max(da.keys())
print("The Maximum Ky: ", max_key)
{3: 30, 4: 40, 1: 120, 2: 20, 5: 50}

The Minimum Val: 20
The Minimum Ky: 1

The Maximum Val: 120
The Maximum Ky: 5