Hướng dẫn can a dictionary key be a list python? - khóa từ điển có thể là một danh sách python không?

Trong Python, chúng tôi sử dụng từ điển để kiểm tra xem có mặt hàng hay không. Từ điển sử dụng khóa: cặp giá trị để tìm kiếm nếu có một khóa hay không và nếu khóa có giá trị của nó là gì. Chúng ta có thể sử dụng số nguyên, chuỗi, bộ dữ liệu làm khóa từ điển nhưng không thể sử dụng danh sách làm khóa của nó. Lý do được giải thích dưới đây.key:value pair to search if a key is present or not and if the key is present what is its value . We can use integer, string, tuples as dictionary keys but cannot use list as a key of it . The reason is explained below .

Làm thế nào để từ điển Python tìm kiếm các khóa của họ & nbsp; & nbsp;
 

Nếu từ điển Python chỉ lặp lại các khóa của chúng để kiểm tra xem các khóa đã cho có có hay không, nó sẽ mất thời gian O [N]. Nhưng từ điển Python mất O [1] để kiểm tra xem khóa có hay không. Vì vậy, cách từ điển tìm kiếm khóa, cho mỗi khóa mà nó tạo ra giá trị băm cho khóa và bằng giá trị băm này, nó có thể theo dõi các yếu tố của nó.O[N] time. But python dictionaries take O[1] to check if the key is present or not. So, how dictionaries search the key, for every key it generates a hash value for the key and by this hash value, it can track its elements.

Các vấn đề nếu danh sách được sử dụng như một khóa của từ điển & nbsp; & nbsp;
 

Danh sách là các đối tượng có thể thay đổi có nghĩa là chúng ta có thể thay đổi các giá trị bên trong danh sách nối thêm hoặc xóa các giá trị của danh sách. Vì vậy, nếu một hàm băm được tạo từ một danh sách và sau đó các mục của danh sách đã thay đổi, từ điển sẽ tạo ra một giá trị băm mới cho danh sách này và không thể tìm thấy nó.

Ví dụ: nếu danh sách là a = [1, 2, 3, 4, 5] và giả sử băm của một danh sách là tổng các giá trị bên trong danh sách. Vì vậy, băm [a] = 15. Bây giờ chúng tôi nối 6 vào a. Vì vậy, a = [1, 2, 3, 4, 5, 6] băm [a] = 21. Vì vậy, giá trị băm của một thay đổi. Do đó, nó không thể được tìm thấy bên trong từ điển.

Một vấn đề khác là các danh sách khác nhau với cùng giá trị băm. Nếu

Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
0 băm [b] = 15. Vì vậy, nếu A [từ ví dụ trên có cùng giá trị băm] có mặt bên trong từ điển và nếu chúng ta tìm kiếm b. Sau đó, từ điển có thể cho chúng ta kết quả sai.

Làm thế nào để đối phó với điều này & nbsp; 

Chúng ta có thể thay đổi danh sách thành các đối tượng bất biến như chuỗi hoặc tuple và sau đó có thể sử dụng nó làm khóa. & nbsp; Dưới đây là việc thực hiện phương pháp. & nbsp;
 

Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
1
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
2
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
3

Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
4
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
2
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
6
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
7
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
8
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
9
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
8
dict_keys[[1, 2, 3]]
1
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
8
dict_keys[[1, 2, 3]]
3
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
8
dict_keys[[1, 2, 3]]
5
dict_keys[[1, 2, 3]]
6

dict_keys[[1, 2, 3]]
7
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
2
dict_keys[[1, 2, 3]]
9
[1, 2, 3]
0

[1, 2, 3]
1
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
2
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
7

[1, 2, 3]
4
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
2
[1, 2, 3]
6
[1, 2, 3]
7

[1, 2, 3]
8
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
2
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
7

[1, 2, 3]
1
[1, 2, 3]
2
[1, 2, 3]
3
[1, 2, 3]
4

[1, 2, 3]
5
[1, 2, 3]
6
[1, 2, 3]
7
[1, 2, 3]
8
[1, 2, 3]
9

 Output:
Output:

[1, 2, 3, 4, 5] : 1
[1, 2, 3, 4, 5] : 1

Đưa ra một từ điển, hãy viết một chương trình Python để lấy các khóa từ điển làm danh sách. & NBSP;

Examples:

Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']

Phương thức & NBSP; 1: Nhận các khóa từ điển làm danh sách bằng Dict.Keys [] Get dictionary keys as a list using dict.keys[]

Phương thức Dict.Keys [] trong Từ điển Python, trả về một đối tượng Xem hiển thị danh sách tất cả các khóa trong từ điển theo thứ tự chèn.

Python3

[1, 2, 3]
0
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
2
[1, 2, 3]
2
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
7
[1, 2, 3]
4
[1, 2, 3]
55518
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
9
[1, 2, 3]
4
[1, 2, 3]
9__18__18

[1, 2, 3]
6
['a', 'b', 'c']
6
[1, 2, 3]
0
['a', 'b', 'c']
8

Output:

dict_keys[[1, 2, 3]]

Phương pháp 2: Nhận các khóa từ điển làm danh sách bằng Dict.Keys [] Get dictionary keys as a list using dict.keys[]

Hàm danh sách Python [] lấy bất kỳ tham số nào và trả về danh sách. Trong Python Itable là đối tượng bạn có thể lặp lại.

Python3

['a', 'b', 'c']
9
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
2
[1, 2, 3]
22
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
7
[1, 2, 3]
4__55555

a = [1, 2, 3, 4, 5]4

Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
2 a = [1, 2, 3, 4, 5]6a = [1, 2, 3, 4, 5]7

[1, 2, 3]
6a = [1, 2, 3, 4, 5]9

Output:

[1, 2, 3]

Phương thức & NBSP; 3: Nhận các khóa từ điển làm danh sách sử dụng cho phương thức vòng lặp và nối Get dictionary keys as a list using For Loop and append method

Trong phương thức này, chúng tôi sẽ lặp lại từng khóa bằng cách sử dụng hàm Dict.Keys [] và nối chúng vào một danh sách mới có tên là Danh sách.

Python3

a = [1, 2, 3, 4, 5, 6]0 a = [1, 2, 3, 4, 5, 6]1

[1, 2, 3]
0a = [1, 2, 3, 4, 5, 6]3

[1, 2, 3]
5a = [1, 2, 3, 4, 5]6
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
2 a = [1, 2, 3, 4, 5, 6]7

[1, 2, 3]
5
[1, 2, 3]
1
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
00
[1, 2, 3]
3
[1, 2, 3]
0
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
03

Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
04a = [1, 2, 3, 4, 5]6
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
06

[1, 2, 3]
5
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
08 a = [1, 2, 3, 4, 5]6

[1, 2, 3]
0
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
2
[1, 2, 3]
2
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
7
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
14
[1, 2, 3]
5
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
8
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
9
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
14
[1, 2, 3]
9__18__18

[1, 2, 3]
6
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
26
[1, 2, 3]
0
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
28

Output:

[1, 2, 3]

Phương pháp 4: & NBSP; Khóa từ điển để liệt kê bằng cách sử dụng danh sách hiểu biết

Ở đây, chúng tôi sẽ cố gắng rút ngắn mã của chúng tôi bằng cách sử dụng danh sách hiểu trong Python.

Python3

[1, 2, 3]
0
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
2
[1, 2, 3]
2
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
7
[1, 2, 3]
4
[1, 2, 3]
55518
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
9
[1, 2, 3]
4
[1, 2, 3]
9__18__18

Phương pháp 2: Nhận các khóa từ điển làm danh sách bằng Dict.Keys []

[1, 2, 3]
6a = [1, 2, 3, 4, 5]9

Output:

[1, 2, 3]

Hàm danh sách Python [] lấy bất kỳ tham số nào và trả về danh sách. Trong Python Itable là đối tượng bạn có thể lặp lại. Dictionary Keys to List using Unpacking with * 

['a', 'b', 'c']
9
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
2
[1, 2, 3]
22
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
7
[1, 2, 3]
4__55555

Python3

a = [1, 2, 3, 4, 5, 6]0 a = [1, 2, 3, 4, 5, 6]1

[1, 2, 3]
0a = [1, 2, 3, 4, 5, 6]3

a = [1, 2, 3, 4, 5]4

Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
2 a = [1, 2, 3, 4, 5]6a = [1, 2, 3, 4, 5]7

[1, 2, 3]
0
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
2
[1, 2, 3]
2
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
67
[1, 2, 3]
4__55555

[1, 2, 3]
6
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
26
[1, 2, 3]
0
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
28

Output:

['a', 'b', 'c']

[1, 2, 3]
Dictionary Keys to List using itemgetter

Phương thức & NBSP; 3: Nhận các khóa từ điển làm danh sách sử dụng cho phương thức vòng lặp và nối

Python3

Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
83
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
84
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
85
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
86

a = [1, 2, 3, 4, 5, 6]0 a = [1, 2, 3, 4, 5, 6]1

[1, 2, 3]
0a = [1, 2, 3, 4, 5, 6]3

[1, 2, 3]
5
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
08 a = [1, 2, 3, 4, 5]6
['a', 'b', 'c']
6
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
95
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
96
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
97
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
98
[1, 2, 3]
0____
dict_keys[[1, 2, 3]]
00

[1, 2, 3]
0
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
2
[1, 2, 3]
2
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
67
[1, 2, 3]
4__55555

[1, 2, 3]
6
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
26
[1, 2, 3]
0
Input  : {1:'a', 2:'b', 3:'c'}
Output : [1, 2, 3]

Input  : {'A' : 'ant', 'B' : 'ball'}
Output : ['A', 'B']
28

Output:

['a', 'b', 'c']

Bạn có thể lập danh sách một khóa từ điển không?

Chúng ta có thể sử dụng số nguyên, chuỗi, bộ dữ liệu làm khóa từ điển nhưng không thể sử dụng danh sách làm khóa của nó.cannot use list as a key of it .

Từ điển có thể được chuyển đổi thành danh sách trong Python không?

Lớp từ điển của Python có ba phương pháp cho mục đích này.Các mục Phương thức [], khóa [] và giá trị [] trả về các đối tượng bao gồm bộ tuple của các cặp khóa-giá trị, chỉ các khóa và giá trị chỉ tương ứng.Phương thức danh sách được xây dựng chuyển đổi các đối tượng xem này trong các đối tượng danh sách.The in-built list method converts these view objects in list objects.

Bạn có thể chuyển đổi một khóa không

Phương pháp số 3: Sử dụng bản đồ và dict.keys [] Nhiệm vụ này cũng có thể được thực hiện.Trong đó, chúng tôi nhận được giá trị các khóa của Dict và lặp qua danh sách các khóa và nhận các giá trị của các giá trị tương ứng và kết hợp cả khóa và giá trị, và tạo thành một danh sách danh sách.Using map and dict. keys[] This task can also be performed. In this, we get the keys value of dict and iterate over the list of keys and get the values of corresponding values and concatenate both key and value, and form a list of lists.

Khóa từ điển có thể là một mảng không?

Một đối tượng từ điển chứa một tập hợp các cặp mục chính.Mục của một từ điển là một giá trị được liên kết rõ ràng với một khóa duy nhất và khóa được sử dụng để lấy vật phẩm.Khóa có thể thuộc bất kỳ loại nào ngoại trừ một biến thể hoặc một mảng [nhưng nhìn chung nó là một chuỗi hoặc vẫn là một số nguyên].The key can be of any type except a variant or an array [but generally it is a string or still an integer].

Bài Viết Liên Quan

Chủ Đề