Hướng dẫn can the value in a python dictionary be a list? - giá trị trong từ điển python có thể là một danh sách 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'}