Hướng dẫn set as key in dictionary python - đặt làm khóa trong python từ điển

Có an toàn khi sử dụng

>>> d = {}
>>> d[frozenset([1,1,2,3])] = 'hello'
>>> d[frozenset([1,2,3,3])]
'hello'
>>> d[frozenset([3,3,3,2,1,1,1])]
'hello'
>>> d[frozenset([2,1,3])]
'hello'
2 làm khóa
>>> d = {}
>>> d[frozenset([1,1,2,3])] = 'hello'
>>> d[frozenset([1,2,3,3])]
'hello'
>>> d[frozenset([3,3,3,2,1,1,1])]
'hello'
>>> d[frozenset([2,1,3])]
'hello'
3 không? Đúng.Yes.

Theo các tài liệu, Frozenset có thể băm vì nó bất biến. Điều này sẽ ngụ ý rằng nó có thể được sử dụng làm chìa khóa cho một dict, bởi vì điều kiện tiên quyết cho một chìa khóa là nó có thể băm.

Từ các tài liệu đông lạnh

Loại Frozenset là bất biến và có thể băm - nội dung của nó không thể được thay đổi sau khi nó được tạo ra; Do đó, nó có thể được sử dụng như một khóa từ điển hoặc là một yếu tố của một bộ khác.

Và dự phòng, từ các tài liệu từ điển:

... Chìa khóa, có thể là bất kỳ loại bất biến


Để làm rõ, một tập hợp (theo định nghĩa), đóng băng hay không, không bảo tồn trật tự. Chúng được lưu trữ bên trong với thứ tự không được tính đến và với các yếu tố trùng lặp bị xóa, vì vậy hai bộ được xây dựng theo các đơn đặt hàng khác nhau sẽ là các khóa tương đương trong từ điển - chúng giống nhau.

>>> frozenset([1,2,2,3,3]) == frozenset([3,2,1,1,1])
True

Và tương tự,

>>> d = {}
>>> d[frozenset([1,1,2,3])] = 'hello'
>>> d[frozenset([1,2,3,3])]
'hello'
>>> d[frozenset([3,3,3,2,1,1,1])]
'hello'
>>> d[frozenset([2,1,3])]
'hello'

Giới thiệu

Một từ điển trong Python là một tập hợp các mục lưu trữ dữ liệu dưới dạng các cặp giá trị khóa. Chúng ta có thể truy cập và thao tác các mục từ điển dựa trên khóa của chúng. Từ điển có thể thay đổi và cho phép chúng tôi thêm các mục mới vào chúng.

Cách nhanh nhất để thêm một mục duy nhất vào từ điển là bằng cách sử dụng tham chiếu chỉ mục từ điển với khóa mới và gán giá trị. Ví dụ: chúng tôi thêm một cặp giá trị khóa mới như thế này:

snacks['chocolate'] = 5

Python cũng cho phép thêm nhiều mục vào từ điển. Trong hướng dẫn này, chúng ta sẽ xem xét cách thêm các phím vào từ điển trong Python.

Thêm chìa khóa vào từ điển Python

Có nhiều cách để thêm một cặp giá trị khóa mới vào từ điển hiện có. Chúng ta hãy xem một vài cách phổ biến để làm như vậy.

Thêm khóa với giá trị

Chúng ta có thể thêm một khóa mới vào từ điển bằng cách gán một giá trị cho nó. Nếu khóa đã có mặt, nó ghi đè lên giá trị mà nó chỉ ra. Khóa phải được viết trong ký hiệu đăng ký cho từ điển như thế này:

my_dictionary[new_key] = new_value

Cặp giá trị khóa này sẽ được thêm vào từ điển. Nếu bạn đang sử dụng Python 3.6 trở lên, nó sẽ được thêm vào làm mục cuối cùng của từ điển.

Hãy tạo một từ điển, sau đó thêm một cặp giá trị khóa mới với phương pháp này:

squares = {1: 1, 2: 4, 3: 9}
squares[4] = 16 # Adding new key-value pair
print(squares)

Điều này sẽ dẫn đến:

{1: 1, 2: 4, 3: 9, 4: 16}

Thêm khóa vào từ điển mà không có giá trị

Nếu bạn chỉ muốn thêm một khóa, không có giá trị, bạn chỉ cần đặt

>>> d = {}
>>> d[frozenset([1,1,2,3])] = 'hello'
>>> d[frozenset([1,2,3,3])]
'hello'
>>> d[frozenset([3,3,3,2,1,1,1])]
'hello'
>>> d[frozenset([2,1,3])]
'hello'
4 thay vì giá trị, với bất kỳ phương pháp nào được đề cập trong artice này:

squares = {1: 1, 2: 4, 3: 9}
squares['x'] = None # Adding new key without value
print(squares)

Kết quả này trong:

{1: 1, 2: 4, 3: 9, 'x': None}

Thêm nhiều cặp giá trị khóa với Update ()

Trong Python, chúng ta có thể thêm nhiều cặp giá trị khóa vào từ điển hiện có. Điều này đạt được bằng cách sử dụng phương pháp

>>> d = {}
>>> d[frozenset([1,1,2,3])] = 'hello'
>>> d[frozenset([1,2,3,3])]
'hello'
>>> d[frozenset([3,3,3,2,1,1,1])]
'hello'
>>> d[frozenset([2,1,3])]
'hello'
5. Phương pháp này có một đối số loại
>>> d = {}
>>> d[frozenset([1,1,2,3])] = 'hello'
>>> d[frozenset([1,2,3,3])]
'hello'
>>> d[frozenset([3,3,3,2,1,1,1])]
'hello'
>>> d[frozenset([2,1,3])]
'hello'
3 hoặc bất kỳ điều gì có thể có độ dài hai - như
>>> d = {}
>>> d[frozenset([1,1,2,3])] = 'hello'
>>> d[frozenset([1,2,3,3])]
'hello'
>>> d[frozenset([3,3,3,2,1,1,1])]
'hello'
>>> d[frozenset([2,1,3])]
'hello'
7 và cập nhật từ điển với các cặp giá trị khóa mới.

Nếu khóa đã có trong từ điển, nó sẽ được ghi đè với giá trị mới.

Các khóa cũng có thể được truyền dưới dạng đối số từ khóa cho phương thức này với các giá trị tương ứng của chúng, như

>>> d = {}
>>> d[frozenset([1,1,2,3])] = 'hello'
>>> d[frozenset([1,2,3,3])]
'hello'
>>> d[frozenset([3,3,3,2,1,1,1])]
'hello'
>>> d[frozenset([2,1,3])]
'hello'
8.

Lưu ý: Đây được cho là phương pháp phổ biến nhất để thêm các khóa và giá trị mới vào từ điển. This is arguably the most popular method of adding new keys and values to a dictionary.

Hãy sử dụng phương thức

>>> d = {}
>>> d[frozenset([1,1,2,3])] = 'hello'
>>> d[frozenset([1,2,3,3])]
'hello'
>>> d[frozenset([3,3,3,2,1,1,1])]
'hello'
>>> d[frozenset([2,1,3])]
'hello'
5 để thêm nhiều cặp giá trị khóa vào từ điển:

rainbow = {'red': 1}

# Update by passing dictionary 
new_key_values_dict = {'orange': 2, 'yellow': 3}
rainbow.update(new_key_values_dict)
print("update by passing dictionary")
print(rainbow)

# Update by passing iterables
new_key_values_itr = (('green',4), ('blue',5))
rainbow.update(new_key_values_itr)
print("update by passing iterables")
print(rainbow)

# Update using keyword arguments
rainbow.update(indigo=6, violet=7)
print("update using keyword arguments")
print(rainbow)

Chạy mã này sẽ tạo ra đầu ra sau:

update by passing dictionary
{'red': 1, 'orange': 2, 'yellow': 3}
update by passing iterables
{'red': 1, 'orange': 2, 'yellow': 3, 'green': 4, 'blue': 5}
update using keyword arguments
{'red': 1, 'orange': 2, 'yellow': 3, 'green': 4, 'blue': 5, 'indigo': 6, 'violet': 7}

Sử dụng toán tử hợp nhất (Python 3.9+)

Từ phiên bản Python 3.9, các toán tử Merge (

snacks['chocolate'] = 5
0) và Update (
snacks['chocolate'] = 5
1) đã được thêm vào lớp
>>> d = {}
>>> d[frozenset([1,1,2,3])] = 'hello'
>>> d[frozenset([1,2,3,3])]
'hello'
>>> d[frozenset([3,3,3,2,1,1,1])]
'hello'
>>> d[frozenset([2,1,3])]
'hello'
3 tích hợp.

Đây là những phương pháp rất thuận tiện để thêm nhiều cặp giá trị khóa vào từ điển. Toán tử hợp nhất (

snacks['chocolate'] = 5
0) tạo ra một từ điển mới với các khóa và giá trị của cả hai từ điển đã cho. Sau đó chúng ta có thể gán kết quả này cho một từ điển mới.

Kiểm tra hướng dẫn thực hành của chúng tôi, thực tế để học Git, với các thực hành tốt nhất, các tiêu chuẩn được công nghiệp chấp nhận và bao gồm bảng gian lận. Ngừng các lệnh git googling và thực sự tìm hiểu nó!

Trong khi toán tử cập nhật (____ 21), hãy thêm các cặp giá trị khóa của từ điển thứ hai vào từ điển đầu tiên. Vì vậy, từ điển hiện tại được cập nhật với nhiều cặp giá trị khóa từ một từ điển khác.

Dưới đây là một ví dụ về việc sử dụng các nhà khai thác hợp nhất (____ 20) và cập nhật (____ 21) để thêm các khóa mới vào từ điển:

>>> d = {}
>>> d[frozenset([1,1,2,3])] = 'hello'
>>> d[frozenset([1,2,3,3])]
'hello'
>>> d[frozenset([3,3,3,2,1,1,1])]
'hello'
>>> d[frozenset([2,1,3])]
'hello'
0

Mã này sẽ tạo ra đầu ra sau trên trình thông dịch Python (3.9+):Python(3.9+) interpreter:

>>> d = {}
>>> d[frozenset([1,1,2,3])] = 'hello'
>>> d[frozenset([1,2,3,3])]
'hello'
>>> d[frozenset([3,3,3,2,1,1,1])]
'hello'
>>> d[frozenset([2,1,3])]
'hello'
1

Sự kết luận

Trong hướng dẫn này, chúng tôi đã học cách chúng tôi có thể thêm một khóa mới vào từ điển. Trước tiên, chúng tôi đã thêm cặp giá trị khóa bằng ký hiệu đăng ký - chúng tôi đã thêm một khóa vào từ điển bằng cách gán một giá trị cho nó. Sau đó, chúng tôi đã xem xét phương pháp

>>> d = {}
>>> d[frozenset([1,1,2,3])] = 'hello'
>>> d[frozenset([1,2,3,3])]
'hello'
>>> d[frozenset([3,3,3,2,1,1,1])]
'hello'
>>> d[frozenset([2,1,3])]
'hello'
5 để thêm nhiều cặp giá trị khóa vào từ điển. Chúng tôi cũng đã sử dụng phương thức
>>> d = {}
>>> d[frozenset([1,1,2,3])] = 'hello'
>>> d[frozenset([1,2,3,3])]
'hello'
>>> d[frozenset([3,3,3,2,1,1,1])]
'hello'
>>> d[frozenset([2,1,3])]
'hello'
5 với các tham số của các đối số từ điển, tuple và từ khóa. Cuối cùng, chúng tôi đã thăm dò vào các toán tử hợp nhất và cập nhật có sẵn từ các phiên bản Python 3.9 trở đi.

Phương pháp từ điển

>>> d = {}
>>> d[frozenset([1,1,2,3])] = 'hello'
>>> d[frozenset([1,2,3,3])]
'hello'
>>> d[frozenset([3,3,3,2,1,1,1])]
'hello'
>>> d[frozenset([2,1,3])]
'hello'
5 chứng tỏ là cách phổ biến nhất để thêm các khóa mới vào từ điển hiện có.

Một bộ có thể là một chìa khóa trong một python từ điển?

Có an toàn khi sử dụng Frozenset làm phím Dict không?Đúng.Theo các tài liệu, Frozenset có thể băm vì nó bất biến.Điều này sẽ ngụ ý rằng nó có thể được sử dụng làm chìa khóa cho một dict, bởi vì điều kiện tiên quyết cho một chìa khóa là nó có thể băm.Frozenset is hashable because it's immutable. This would imply that it can be used as the key to a dict, because the prerequisite for a key is that it is hashable.

Một từ điển có thể có một bộ làm chìa khóa?

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.a dictionary key must be of a type that is immutable. For example, you can use an integer, float, string, or Boolean as a dictionary key. However, neither a list nor another dictionary can serve as a dictionary key, because lists and dictionaries are mutable.

Làm cách nào để biến một bộ thành một từ điển trong Python?

Việc triển khai fromKeys () để chuyển đổi được đặt thành từ điển hàm fromKeys () trong python được sử dụng để tạo từ điển từ các khóa và giá trị được chỉ định làm đối số.Cú pháp của hàm fromKeys () là: fromKeys (khóa, giá trị).fromkeys (key,value).