Hướng dẫn can i add a list to a dictionary python? - tôi có thể thêm danh sách vào python từ điển không?

Cho đến bây giờ, chúng tôi đã thấy các cách để tạo từ điển theo nhiều cách và các hoạt động khác nhau trên khóa và giá trị trong từ điển. Bây giờ, hãy để Lôi thấy những cách khác nhau để tạo ra một từ điển danh sách.

Lưu ý rằng việc hạn chế với các khóa trong từ điển Python chỉ có thể sử dụng các loại dữ liệu bất biến làm khóa, điều đó có nghĩa là chúng ta không thể sử dụng từ điển danh sách như một key.

myDict =

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
0
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
1
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
2
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
3
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
4
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
5
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
6

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
7
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
8

Output:

TypeError: unhashable type: 'list'

Nhưng điều tương tự có thể được thực hiện rất khôn ngoan với từ điển

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
9in. Hãy cùng xem tất cả các cách khác nhau mà chúng ta có thể tạo ra một từ điển danh sách.

Phương pháp số 1: Sử dụng chỉ số Using subscript

myDict =

{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
2

{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
3
{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
4
{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
5=
{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
7
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
1__12

{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
3
{1: ['1'], 2: ['1', '2'], 3: ['2', '3'], 4: ['3']}
3
{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
5=
{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
7
{1: ['1'], 2: ['1', '2'], 3: ['2', '3'], 4: ['3']}
7__12

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
7
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
8

Output:

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}

& nbsp; Phương thức #2: Thêm danh sách lồng nhau làm giá trị bằng phương thức append ().
Method #2: Adding nested list as value using append() method.

Tạo một danh sách mới và chúng tôi chỉ có thể nối danh sách đó vào giá trị.

myDict =

{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
2

{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
3
{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
4
{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
5=
{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
7
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
1__12

{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
3
{1: ['1'], 2: ['1', '2'], 3: ['2', '3'], 4: ['3']}
3
{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
5=
{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
7
{1: ['1'], 2: ['1', '2'], 3: ['2', '3'], 4: ['3']}
7__12

{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
3
{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
4
{'[["Geeks", 1], ["For", 2], ["Geeks", 3]]': 'converted'}
8

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
7
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
8

Output:

{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}

& nbsp; Phương thức #2: Thêm danh sách lồng nhau làm giá trị bằng phương thức append ().
Method #3: Using key1 method

Tạo một danh sách mới và chúng tôi chỉ có thể nối danh sách đó vào giá trị.

defaultdict(, {'For': [2], 'Geeks': [1, 3]})
7=
{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
7
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
5
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
2
{'[["Geeks", 1], ["For", 2], ["Geeks", 3]]': 'converted'}
2__12

& NBSP; Phương pháp #3: Sử dụng phương thức key1

Lặp lại danh sách và tiếp tục nối thêm các phần tử cho đến khi sử dụng phương thức key1.

myDict = key5key6

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
03
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
04

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
7
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
8

Output:

{1: ['1'], 2: ['1', '2'], 3: ['2', '3'], 4: ['3']}


Method #4: Using list comprehension

myDict 6 myDict 7myDict 8 myDict 9

=0myDict 6 =2myDict 8

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
7
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
32

Output:

{'1': [1, 2], '3': [3, 4], '2': [2, 3]}

& nbsp; Phương pháp #4: Sử dụng danh sách hiểu biết
Method #5: Using defaultdict

Is

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
20myDict 6 myDict 7myDict 8
{'key1': [1, 2, ['Geeks', 'For', 'Geeks']]}
7myDict 0
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
2myDict 22

& nbsp; Phương pháp #5: Sử dụng DefaultDict

Lưu ý rằng điều tương tự cũng có thể được thực hiện với từ điển đơn giản nhưng sử dụng

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
33 hiệu quả hơn cho các trường hợp đó.

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
34
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
35
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
36
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
37

=0

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
63

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
7
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
65

Output:

defaultdict(, {'For': [2], 'Geeks': [1, 3]})

defaultdict(, {'For': [2], 'Geeks': [1, 3]})
7=
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
40
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
5
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
2
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
1
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
44
{'[["Geeks", 1], ["For", 2], ["Geeks", 3]]': 'converted'}
2
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
2
 
Method #6: Using Json

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
53=
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
55
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
56
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
57

& nbsp; Phương pháp #5: Sử dụng DefaultDict

Lưu ý rằng điều tương tự cũng có thể được thực hiện với từ điển đơn giản nhưng sử dụng

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
33 hiệu quả hơn cho các trường hợp đó.

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
34
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
35
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
36
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
37

defaultdict(, {'For': [2], 'Geeks': [1, 3]})
7=
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
40
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
5
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
2
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
1
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
44
{'[["Geeks", 1], ["For", 2], ["Geeks", 3]]': 'converted'}
2
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
2

{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
7=5key5
{'key2': ['Geeks', 'For', 'Geeks'], 'key1': [1, 2]}
57

Output:

{'[["Geeks", 1], ["For", 2], ["Geeks", 3]]': 'converted'}

Bạn có thể đặt một danh sách vào một từ điển?

Để chuyển đổi danh sách thành từ điển bằng cách sử dụng cùng một giá trị, bạn có thể sử dụng phương thức Dict.FromKeys ().Để chuyển đổi hai danh sách thành một từ điển, bạn có thể sử dụng hàm python zip ().Sự hiểu biết từ điển cho phép bạn tạo một từ điển mới dựa trên các giá trị của một danh sách. fromkeys() method. To convert two lists into one dictionary, you can use the Python zip() function. The dictionary comprehension lets you create a new dictionary based on the values of a list.

Chúng ta có thể thêm một danh sách làm khóa trong từ điển không?

Thứ hai, một khóa từ điển phải thuộc loại bất biến.Ví dụ: bạn có thể sử dụng số nguyên, phao, chuỗi hoặc boolean làm khóa từ điển.Tuy nhiên, cả danh sách và từ điển khác đều không thể đóng vai trò là khóa từ điển, bởi vì danh sách và từ điển đều có thể thay đổi.neither a list nor another dictionary can serve as a dictionary key, because lists and dictionaries are mutable.