Nối từ điển khóa python

Tạo một từ điển Python trả về danh sách các giá trị cho mỗi khóa. Chìa khóa có thể là bất kỳ loại nào bạn muốn

Nội dung chính Hiển thị

  • Tạo từ điển trước
  • Phương pháp 1. Thêm khóa mới bằng ký hiệu Subscript
  • Phương pháp 2. Thêm khóa mới bằng phương thức update()
  • Phương pháp 3. Thêm khóa mới bằng phương thức __setitem__
  • Phương pháp 4. Thêm khóa mới bằng toán tử **
  • Phương pháp 5. Thêm khóa mới bằng cách sử dụng toán tử “in” và câu lệnh IF
  • Phương pháp 6. Thêm khóa mới bằng phương thức vòng lặp for và enumerate()
  • Ví dụ 7. Thêm nhiều mục vào từ điển Python bằng Zip
  • Làm cách nào để thêm giá trị vào khóa trong Python?
  • Làm cách nào để gán khóa cho từ điển trong Python?
  • Làm thế nào để bạn gọi một khóa trong Python?
  • Làm cách nào để thêm một cặp giá trị khóa vào từ điển?

Thiết kế từ điển để nó có thể hữu ích cho điều gì đó có ý nghĩa với bạn. Tạo ít nhất ba mục khác nhau trong đó. Tự phát minh ra từ điển. Không sao chép thiết kế hoặc vật phẩm từ một số nguồn khác

Tiếp theo hãy xem xét hàm invert_dict từ Phần 11. 5 sách giáo khoa của bạn

# Từ Tiết 11. 5 của

# Downey, A. (2015). Nghĩ Python. Làm thế nào để suy nghĩ như một nhà khoa học máy tính. Needham, Massachusetts. Máy ép cây xanh

def invert_dict(d)

nghịch đảo = dict()

cho khóa trong d

val = d[key]

nếu val không nghịch đảo

nghịch đảo [val] = [key]

khác

nghịch đảo [val]. nối thêm (khóa)

trả về nghịch đảo

my_dict = {
    "Great Britain": ["Bristol",'Cambridge',"Canterbury"],
    "France": ["Paris",'Marseille',"Lyon"],
    "USA": ["New York",'California',"Illinois"],
}

def invert(d):
    inverse = dict()
    for key in d:
        val = d[key]
        for item in val:
            if item not in inverse:
                inverse[item] = [key]
            else:
                inverse[item].append(key)
    return inverse 

print('Initial dictionary \n')
print(my_dict, '\n')
in_dict = invert(my_dict)
print("Inverted dictionary \n")
print(in_dict)

Giả sử có một từ điển có tên là exam_marks như dưới đây

exam_marks = {'Cierra Vega'. 175, 'Alden Cantrell'. 200, 'Kierra Gentry'. 165, 'Pierre Cox'. 190}

Viết chương trình Python lấy đầu vào từ người dùng và tạo một từ điển mới chỉ có các phần tử đó từ 'exam_marks' có các khóa có giá trị cao hơn đầu vào của người dùng (bao gồm)

=================================================================

Đầu vào mẫu 1

170

Đầu ra mẫu 1

{'Cierra Vega'. 175, 'Alden Cantrell'. 200, 'Pierre Cox'. 190}

Trong bài viết này, chúng tôi sẽ đề cập đến cách thêm Khóa mới vào Từ điển trong Python. Chúng tôi sẽ sử dụng 7 phương pháp khác nhau để thêm các khóa mới vào từ điển

Từ điển trong Python là một tập hợp các giá trị dữ liệu không có thứ tự, được sử dụng để lưu trữ các giá trị dữ liệu giống như bản đồ, không giống như các Loại dữ liệu khác chỉ chứa một giá trị duy nhất dưới dạng phần tử, Từ điển chứa một khóa. cặp giá trị. Khóa-giá trị được cung cấp trong từ điển để tối ưu hóa hơn. Mỗi cặp khóa-giá trị trong Từ điển được phân tách bằng dấu hai chấm. trong khi mỗi phím được phân tách bằng 'dấu phẩy'. Các khóa của Từ điển phải là duy nhất và thuộc các loại dữ liệu bất biến, chẳng hạn như Chuỗi, Số nguyên và bộ dữ liệu, nhưng các giá trị khóa có thể được lặp lại và thuộc bất kỳ loại nào. Hãy xem cách chúng ta có thể thêm khóa mới vào từ điển bằng các cách khác nhau vào từ điển

Tạo từ điển trước

Python3

{1: 'Geeks', 2: 'forGeeks'}
96
{1: 'Geeks', 2: 'forGeeks'}
0____11
{1: 'Geeks', 2: 'forGeeks'}
2

{1: 'Geeks', 2: 'forGeeks'}
3
{1: 'Geeks', 2: 'forGeeks'}
4
{1: 'Geeks', 2: 'forGeeks'}
5
{1: 'Geeks', 2: 'forGeeks'}
6
{1: 'Geeks', 2: 'forGeeks'}
2

{1: 'Geeks', 2: 'forGeeks'}
8
{1: 'Geeks', 2: 'forGeeks'}
6
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
1
{1: 'Geeks', 2: 'forGeeks'}
12

{1: 'Geeks', 2: 'forGeeks'}
3
{1: 'Geeks', 2: 'forGeeks'}
4
{1: 'Geeks', 2: 'forGeeks'}
15
{1: 'Geeks', 2: 'forGeeks'}
6
{1: 'Geeks', 2: 'forGeeks'}
17

{1: 'Geeks', 2: 'forGeeks'}
8
{1: 'Geeks', 2: 'forGeeks'}
6
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
12

{1: 'Geeks', 2: 'forGeeks'}
13
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
15

{1: 'Geeks', 2: 'forGeeks'}
16______217____218
{1: 'Geeks', 2: 'forGeeks'}
19
{1: 'Geeks', 2: 'forGeeks'}
10

{1: 'Geeks', 2: 'forGeeks'}
16____312
{1: 'Geeks', 2: 'forGeeks'}
18
{1: 'Geeks', 2: 'forGeeks'}
14
{1: 'Geeks', 2: 'forGeeks'}
10

{1: 'Geeks', 2: 'forGeeks'}
16
{1: 'Geeks', 2: 'forGeeks'}
17

đầu ra

{1: 'Geeks', 2: 'forGeeks'}

Phương pháp 1. Thêm khóa mới bằng ký hiệu Subscript

Phương thức này sẽ tạo một cặp khóa\giá trị mới trên từ điển bằng cách gán giá trị cho khóa đó. Nếu khóa không tồn tại, nó sẽ được thêm vào và sẽ trỏ đến giá trị đó. Nếu khóa tồn tại, giá trị hiện tại mà nó trỏ tới sẽ bị ghi đè.  

Python3

{1: 'Geeks', 2: 'forGeeks'}
1
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
20
{1: 'Geeks', 2: 'forGeeks'}
21
{1: 'Geeks', 2: 'forGeeks'}
22
{1: 'Geeks', 2: 'forGeeks'}
23
{1: 'Geeks', 2: 'forGeeks'}
18
{1: 'Geeks', 2: 'forGeeks'}
25
{1: 'Geeks', 2: 'forGeeks'}
22
{1: 'Geeks', 2: 'forGeeks'}
27
{1: 'Geeks', 2: 'forGeeks'}
28

_______316____520____521

{1: 'Geeks', 2: 'forGeeks'}
3____218____11
{1: 'Geeks', 2: 'forGeeks'}
10

{1: 'Geeks', 2: 'forGeeks'}
1____527____425____529
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
31

{1: 'Geeks', 2: 'forGeeks'}
1____527____634
{1: 'Geeks', 2: 'forGeeks'}
29
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
23

{1: 'Geeks', 2: 'forGeeks'}
16____520
{1: 'Geeks', 2: 'forGeeks'}
20

{1: 'Geeks', 2: 'forGeeks'}
3____218____11
{1: 'Geeks', 2: 'forGeeks'}
10

đầu ra

{1: 'Geeks', 2: 'forGeeks'}
1

Phương pháp 2. Thêm khóa mới bằng phương thức update()

Khi chúng ta phải cập nhật/thêm nhiều khóa/giá trị vào từ điển, phương thức update() là phù hợp. Phương thức update() chèn các mục đã chỉ định vào từ điển

Python3

{1: 'Geeks', 2: 'forGeeks'}
1
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
20_______421____422____423
{1: 'Geeks', 2: 'forGeeks'}
18____425
{1: 'Geeks', 2: 'forGeeks'}
22
{1: 'Geeks', 2: 'forGeeks'}
31
{1: 'Geeks', 2: 'forGeeks'}
28

{1: 'Geeks', 2: 'forGeeks'}
16____520

{1: 'Geeks', 2: 'forGeeks'}
3____2969

{1: 'Geeks', 2: 'forGeeks'}
3____218____11
{1: 'Geeks', 2: 'forGeeks'}
10

{1: 'Geeks', 2: 'forGeeks'}
1
{1: 'Geeks', 2: 'forGeeks'}
05____634
{1: 'Geeks', 2: 'forGeeks'}
22
{1: 'Geeks', 2: 'forGeeks'}
23
{1: 'Geeks', 2: 'forGeeks'}
09

{1: 'Geeks', 2: 'forGeeks'}
16____520

{1: 'Geeks', 2: 'forGeeks'}
3____113

{1: 'Geeks', 2: 'forGeeks'}
3____218____11
{1: 'Geeks', 2: 'forGeeks'}
10

{1: 'Geeks', 2: 'forGeeks'}
18
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
20
{1: 'Geeks', 2: 'forGeeks'}
21
{1: 'Geeks', 2: 'forGeeks'}
22
{1: 'Geeks', 2: 'forGeeks'}
23
{1: 'Geeks', 2: 'forGeeks'}
18
{1: 'Geeks', 2: 'forGeeks'}
25
{1: 'Geeks', 2: 'forGeeks'}
22
{1: 'Geeks', 2: 'forGeeks'}
27
{1: 'Geeks', 2: 'forGeeks'}
28

{1: 'Geeks', 2: 'forGeeks'}
1
{1: 'Geeks', 2: 'forGeeks'}
30

{1: 'Geeks', 2: 'forGeeks'}
16____520____11
{1: 'Geeks', 2: 'forGeeks'}
10

{1: 'Geeks', 2: 'forGeeks'}
1
{1: 'Geeks', 2: 'forGeeks'}
36
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
38
{1: 'Geeks', 2: 'forGeeks'}
10

{1: 'Geeks', 2: 'forGeeks'}
16____520____11
{1: 'Geeks', 2: 'forGeeks'}
10

đầu ra

{1: 'Geeks', 2: 'forGeeks'}
1

Phương pháp 3. Thêm khóa mới bằng phương thức __setitem__

Phương thức __setitem__ để thêm cặp khóa-giá trị vào lệnh bằng phương thức __setitem__. Nó nên tránh vì hiệu suất kém của nó (không hiệu quả về mặt tính toán).  

Python3

{1: 'Geeks', 2: 'forGeeks'}
1
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
20_______421____422____423
{1: 'Geeks', 2: 'forGeeks'}
18____425
{1: 'Geeks', 2: 'forGeeks'}
22
{1: 'Geeks', 2: 'forGeeks'}
31
{1: 'Geeks', 2: 'forGeeks'}
28

{1: 'Geeks', 2: 'forGeeks'}
1____156____157____218
{1: 'Geeks', 2: 'forGeeks'}
59
{1: 'Geeks', 2: 'forGeeks'}
10

{1: 'Geeks', 2: 'forGeeks'}
16____520____11
{1: 'Geeks', 2: 'forGeeks'}
10

đầu ra

{1: 'Geeks', 2: 'forGeeks'}
1

Phương pháp 4. Thêm khóa mới bằng toán tử **

Chúng tôi có thể hợp nhất từ ​​điển cũ và cặp khóa/giá trị mới trong một từ điển khác. Sử dụng ** trước các cặp khóa-giá trị như  **{‘c’. 3} sẽ giải nén nó dưới dạng một đối tượng từ điển mới

Python3

{1: 'Geeks', 2: 'forGeeks'}
1
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
20
{1: 'Geeks', 2: 'forGeeks'}
68
{1: 'Geeks', 2: 'forGeeks'}
22
{1: 'Geeks', 2: 'forGeeks'}
17
{1: 'Geeks', 2: 'forGeeks'}
18
{1: 'Geeks', 2: 'forGeeks'}
72
{1: 'Geeks', 2: 'forGeeks'}
22
{1: 'Geeks', 2: 'forGeeks'}
12
{1: 'Geeks', 2: 'forGeeks'}
28

{1: 'Geeks', 2: 'forGeeks'}
76
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
20
{1: 'Geeks', 2: 'forGeeks'}
79
{1: 'Geeks', 2: 'forGeeks'}
79
{1: 'Geeks', 2: 'forGeeks'}
1
{1: 'Geeks', 2: 'forGeeks'}
18
{1: 'Geeks', 2: 'forGeeks'}
79
{1: 'Geeks', 2: 'forGeeks'}
79
{1: 'Geeks', 2: 'forGeeks'}
20
{1: 'Geeks', 2: 'forGeeks'}
86
{1: 'Geeks', 2: 'forGeeks'}
22
{1: 'Geeks', 2: 'forGeeks'}
88
{1: 'Geeks', 2: 'forGeeks'}
89

{1: 'Geeks', 2: 'forGeeks'}
16____520____11
{1: 'Geeks', 2: 'forGeeks'}
10

{1: 'Geeks', 2: 'forGeeks'}
16____195

đầu ra

{1: 'Geeks', 2: 'forGeeks'}
2

Phương pháp 5. Thêm khóa mới bằng cách sử dụng toán tử “in” và câu lệnh IF

Nếu khóa chưa có trong từ điển, khóa sẽ được thêm vào từ điển bằng cách sử dụng câu lệnh if. Nếu nó được đánh giá là sai, thông báo "Từ điển đã có khóa" sẽ được in

Python3

{1: 'Geeks', 2: 'forGeeks'}
96
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
20
{1: 'Geeks', 2: 'forGeeks'}
99
{1: 'Geeks', 2: 'forGeeks'}
22
{1: 'Geeks', 2: 'forGeeks'}
17______218
{1: 'Geeks', 2: 'forGeeks'}
103
{1: 'Geeks', 2: 'forGeeks'}
22
{1: 'Geeks', 2: 'forGeeks'}
12
{1: 'Geeks', 2: 'forGeeks'}
18
{1: 'Geeks', 2: 'forGeeks'}
107
{1: 'Geeks', 2: 'forGeeks'}
22
{1: 'Geeks', 2: 'forGeeks'}
88
{1: 'Geeks', 2: 'forGeeks'}
28

{1: 'Geeks', 2: 'forGeeks'}
111
{1: 'Geeks', 2: 'forGeeks'}
112
{1: 'Geeks', 2: 'forGeeks'}
113
{1: 'Geeks', 2: 'forGeeks'}
114
{1: 'Geeks', 2: 'forGeeks'}
115

{1: 'Geeks', 2: 'forGeeks'}
8
{1: 'Geeks', 2: 'forGeeks'}
117____1112
{1: 'Geeks', 2: 'forGeeks'}
29
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
121

{1: 'Geeks', 2: 'forGeeks'}
122
{1: 'Geeks', 2: 'forGeeks'}
22

{1: 'Geeks', 2: 'forGeeks'}
8
{1: 'Geeks', 2: 'forGeeks'}
16____520______1127
{1: 'Geeks', 2: 'forGeeks'}
10

{1: 'Geeks', 2: 'forGeeks'}
16____1130

đầu ra

{1: 'Geeks', 2: 'forGeeks'}
2

Phương pháp 6. Thêm khóa mới bằng phương thức vòng lặp for và enumerate()

Lập danh sách các phần tử. Sử dụng phương thức enumerate() để lặp lại danh sách, sau đó thêm từng mục vào từ điển bằng cách sử dụng chỉ mục của nó làm khóa cho từng giá trị

Python3

{1: 'Geeks', 2: 'forGeeks'}
131
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
20
{1: 'Geeks', 2: 'forGeeks'}
99
{1: 'Geeks', 2: 'forGeeks'}
22
{1: 'Geeks', 2: 'forGeeks'}
17_______218
{1: 'Geeks', 2: 'forGeeks'}
103
{1: 'Geeks', 2: 'forGeeks'}
22
{1: 'Geeks', 2: 'forGeeks'}
12
{1: 'Geeks', 2: 'forGeeks'}
18
{1: 'Geeks', 2: 'forGeeks'}
107
{1: 'Geeks', 2: 'forGeeks'}
22
{1: 'Geeks', 2: 'forGeeks'}
88
{1: 'Geeks', 2: 'forGeeks'}
28

{1: 'Geeks', 2: 'forGeeks'}
146
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
27
{1: 'Geeks', 2: 'forGeeks'}
149
{1: 'Geeks', 2: 'forGeeks'}
18
{1: 'Geeks', 2: 'forGeeks'}
151
{1: 'Geeks', 2: 'forGeeks'}
18
{1: 'Geeks', 2: 'forGeeks'}
153
{1: 'Geeks', 2: 'forGeeks'}
29

{1: 'Geeks', 2: 'forGeeks'}
155
{1: 'Geeks', 2: 'forGeeks'}
156
{1: 'Geeks', 2: 'forGeeks'}
114
{1: 'Geeks', 2: 'forGeeks'}
158
{1: 'Geeks', 2: 'forGeeks'}
159

{1: 'Geeks', 2: 'forGeeks'}
8
{1: 'Geeks', 2: 'forGeeks'}
161____110
{1: 'Geeks', 2: 'forGeeks'}
163

{1: 'Geeks', 2: 'forGeeks'}
16____1165

đầu ra

{1: 'Geeks', 2: 'forGeeks'}
3

Ví dụ 7. Thêm nhiều mục vào từ điển Python bằng Zip

Trong ví dụ này, chúng tôi đang sử dụng phương thức zip của python để thêm khóa và giá trị vào từ điển trống python. Bạn cũng có thể sử dụng an trong từ điển hiện có để thêm các thành phần trong từ điển thay cho từ điển = {}

Python3

{1: 'Geeks', 2: 'forGeeks'}
166
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
168

{1: 'Geeks', 2: 'forGeeks'}
169
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
27____425
{1: 'Geeks', 2: 'forGeeks'}
18
{1: 'Geeks', 2: 'forGeeks'}
21
{1: 'Geeks', 2: 'forGeeks'}
18
{1: 'Geeks', 2: 'forGeeks'}
34
{1: 'Geeks', 2: 'forGeeks'}
29

{1: 'Geeks', 2: 'forGeeks'}
178
{1: 'Geeks', 2: 'forGeeks'}
10
{1: 'Geeks', 2: 'forGeeks'}
27_______423____218
{1: 'Geeks', 2: 'forGeeks'}
31____218
{1: 'Geeks', 2: 'forGeeks'}
23
{1: 'Geeks', 2: 'forGeeks'}
29

{1: 'Geeks', 2: 'forGeeks'}
155
{1: 'Geeks', 2: 'forGeeks'}
188
{1: 'Geeks', 2: 'forGeeks'}
114
{1: 'Geeks', 2: 'forGeeks'}
190
{1: 'Geeks', 2: 'forGeeks'}
191

{1: 'Geeks', 2: 'forGeeks'}
8
{1: 'Geeks', 2: 'forGeeks'}
193____110
{1: 'Geeks', 2: 'forGeeks'}
12

{1: 'Geeks', 2: 'forGeeks'}
16____1197

đầu ra

{1: 'Geeks', 2: 'forGeeks'}
2

Làm cách nào để thêm giá trị vào khóa trong Python?

Thêm giá trị vào từ điển trong Python .

Gán giá trị cho khóa mới

sử dụng chính tả. update() để thêm nhiều khóa-giá trị

Đối với Trăn 3. 9+, hãy sử dụng toán tử hợp nhất (. )

Đối với Trăn 3. 9+, hãy sử dụng toán tử cập nhật (. = )

Tạo một chức năng tùy chỉnh

Sử dụng phương thức __setitem__() (Không khuyến khích)

Làm cách nào để gán khóa cho từ điển trong Python?

Bạn có thể thêm khóa vào từ điển trong python bằng cách sử dụng mydict["newkey"] = "newValue" method . Từ điển có thể thay đổi, sắp xếp theo thứ tự và không cho phép các khóa trùng lặp. Tuy nhiên, các khóa khác nhau có thể có cùng giá trị.

Làm thế nào để bạn gọi một khóa trong Python?

Hãy thảo luận về nhiều cách khác nhau để truy cập tất cả các khóa cùng với giá trị của chúng trong Từ điển Python. .

Phương pháp số 1. Sử dụng trong toán tử

Phương pháp #2. Sử dụng hiểu danh sách

Phương pháp #3. sử dụng chính tả. mặt hàng()

Phương pháp #4. Sử dụng liệt kê()

Làm cách nào để thêm một cặp giá trị khóa vào từ điển?

Dưới đây là hai cách tiếp cận mà chúng ta có thể sử dụng. .

Chỉ định một khóa mới làm chỉ số dưới. Chúng tôi thêm một phần tử mới vào từ điển bằng cách sử dụng một khóa mới làm chỉ số dưới và gán cho nó một giá trị. .