Python tạo từ điển không cần key

Mỗi khóa được phân tách khỏi giá trị của nó bằng dấu hai chấm [. ], các mục được phân tách bằng dấu phẩy và toàn bộ nội dung được đặt trong dấu ngoặc nhọn. Một từ điển trống không có bất kỳ mục nào được viết chỉ bằng hai dấu ngoặc nhọn, như thế này. {}

Các khóa là duy nhất trong một từ điển trong khi các giá trị có thể không. Các giá trị của từ điển có thể thuộc bất kỳ loại nào, nhưng các khóa phải thuộc loại dữ liệu bất biến, chẳng hạn như chuỗi, số hoặc bộ dữ liệu

Truy cập các giá trị trong từ điển

Để truy cập các phần tử từ điển, bạn có thể sử dụng dấu ngoặc vuông quen thuộc cùng với khóa để lấy giá trị của nó. Sau đây là một ví dụ đơn giản -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Name']: ", dict['Name']
print "dict['Age']: ", dict['Age']

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

dict['Name']:  Zara
dict['Age']:  7

Nếu chúng tôi cố gắng truy cập một mục dữ liệu bằng một khóa không phải là một phần của từ điển, chúng tôi sẽ gặp lỗi như sau -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Alice']: ", dict['Alice']

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

dict['Alice']:
Traceback [most recent call last]:
   File "test.py", line 4, in 
      print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'

cập nhật từ điển

Bạn có thể cập nhật từ điển bằng cách thêm mục nhập mới hoặc cặp khóa-giá trị, sửa đổi mục nhập hiện có hoặc xóa mục nhập hiện có như minh họa bên dưới trong ví dụ đơn giản –

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry

print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

dict['Age']:  8
dict['School']:  DPS School

Xóa các thành phần từ điển

Bạn có thể xóa các thành phần từ điển riêng lẻ hoặc xóa toàn bộ nội dung của từ điển. Bạn cũng có thể xóa toàn bộ từ điển trong một thao tác

Để xóa toàn bộ từ điển một cách rõ ràng, chỉ cần sử dụng câu lệnh del. Sau đây là một ví dụ đơn giản -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del dict['Name']; # remove entry with key 'Name'
dict.clear[];     # remove all entries in dict
del dict ;        # delete entire dictionary

print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']

Điều này tạo ra kết quả sau. Lưu ý rằng một ngoại lệ được đưa ra bởi vì sau khi từ điển del dict không còn tồn tại nữa -

dict['Age']:
Traceback [most recent call last]:
   File "test.py", line 8, in 
      print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable

Lưu ý - phương thức del[] được thảo luận trong phần tiếp theo

Thuộc tính của khóa từ điển

Giá trị từ điển không có hạn chế. Chúng có thể là bất kỳ đối tượng Python tùy ý nào, đối tượng tiêu chuẩn hoặc đối tượng do người dùng định nghĩa. Tuy nhiên, điều này không đúng với các phím

Có hai điểm quan trọng cần nhớ về khóa từ điển -

[a] Không được phép nhập nhiều hơn một mục trên mỗi khóa. Điều đó có nghĩa là không cho phép khóa trùng lặp. Khi gặp phải các khóa trùng lặp trong quá trình gán, nhiệm vụ cuối cùng sẽ thắng. Ví dụ -

________số 8

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

dict['Name']:  Manni

[b] Khóa phải là bất biến. Điều đó có nghĩa là bạn có thể sử dụng chuỗi, số hoặc bộ dữ liệu làm khóa từ điển nhưng không được phép sử dụng những thứ như ['key']. Sau đây là một ví dụ đơn giản -

dict['Name']:  Zara
dict['Age']:  7
0

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

dict['Name']:  Zara
dict['Age']:  7
1

Các chức năng & phương pháp từ điển tích hợp

Python bao gồm các chức năng từ điển sau -

Sr. Không. Chức năng với Description1cmp[dict1, dict2]

So sánh các yếu tố của cả dict

2len[chính tả]

Cung cấp tổng chiều dài của từ điển. Điều này sẽ bằng với số lượng mục trong từ điển

3str[chính tả]

Tạo một biểu diễn chuỗi có thể in được của một từ điển

4 loại [biến]

Trả về kiểu của biến đã truyền. Nếu biến được truyền là từ điển thì nó sẽ trả về kiểu từ điển

Trong Python, bạn có thể thêm một mục mới vào từ điển

dict['Alice']:
Traceback [most recent call last]:
   File "test.py", line 4, in 
      print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'
0 với
dict['Alice']:
Traceback [most recent call last]:
   File "test.py", line 4, in 
      print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'
1. Theo cách này, nếu khóa đã tồn tại, giá trị được cập nhật [ghi đè] bằng giá trị mới

Bằng cách sử dụng phương pháp

dict['Name']:  Zara
dict['Age']:  7
20, bạn chỉ có thể thêm các mục có giá trị mới cho các khóa mới mà không thay đổi giá trị cho các khóa hiện có

  • Các loại tích hợp - dict. setdefault[] — Python 3. 9. 7 tài liệu

Điều này hữu ích khi bạn không muốn thay đổi một mục hiện có

Bài viết này mô tả các nội dung sau

  • Thêm và cập nhật một mục vào từ điển bằng cách chỉ định khóa
  • Cách sử dụng phương pháp
    dict['Name']:  Zara
    dict['Age']:  7
    
    20
  • Giá trị trả về của phương thức
    dict['Name']:  Zara
    dict['Age']:  7
    
    20

dict['Name']:  Zara
dict['Age']:  7
23 được sử dụng để kiểm tra xem khóa có tồn tại trong
dict['Alice']:
Traceback [most recent call last]:
   File "test.py", line 4, in 
      print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'
0 hay không. Xem bài viết sau

  • Kiểm tra xem khóa/giá trị có tồn tại trong từ điển bằng Python không

Liên kết được tài trợ

Thêm và cập nhật một mục vào từ điển bằng cách chỉ định khóa

Bạn có thể thêm/cập nhật các mục từ điển theo cách sau

dict['Name']:  Zara
dict['Age']:  7
6

Nếu khóa không tồn tại được chỉ định, một mục mới sẽ được thêm vào. Nếu một khóa đã tồn tại được chỉ định, giá trị hiện có sẽ được cập nhật [ghi đè]

dict['Name']:  Zara
dict['Age']:  7
2

nguồn. dict_add_update. py

Để biết thêm thông tin về cách thêm nhiều mục cùng lúc hoặc hợp nhất nhiều từ điển, hãy xem các bài viết sau

  • Hợp nhất nhiều từ điển và thêm các mục vào từ điển trong Python

Cách sử dụng phương pháp
dict['Name']:  Zara
dict['Age']:  7
20

Trong phương thức

dict['Name']:  Zara
dict['Age']:  7
20, đối số đầu tiên là khóa và đối số thứ hai là giá trị

Nếu khóa được chỉ định trong đối số đầu tiên không tồn tại, một mục mới sẽ được thêm vào

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Alice']: ", dict['Alice']
0

nguồn. dict_setdefault. py

Giá trị mặc định của đối số thứ hai là

dict['Name']:  Zara
dict['Age']:  7
27. Nếu nó bị bỏ qua, mục có giá trị
dict['Name']:  Zara
dict['Age']:  7
27 sẽ được thêm vào

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Alice']: ", dict['Alice']
3

nguồn. dict_setdefault. py

Nếu khóa được chỉ định làm đối số đầu tiên đã tồn tại, mục hiện có sẽ không thay đổi như ban đầu, bất kể giá trị nào được chỉ định làm đối số thứ hai

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Alice']: ", dict['Alice']
4

nguồn. dict_setdefault. py

Liên kết được tài trợ

Giá trị trả về của phương thức
dict['Name']:  Zara
dict['Age']:  7
20

Phương thức

dict['Name']:  Zara
dict['Age']:  7
20 trả về giá trị cho khóa được chỉ định làm đối số đầu tiên

Nếu khóa được chỉ định trong đối số đầu tiên không tồn tại, thì mục đó được thêm vào với giá trị được chỉ định trong đối số thứ hai, sau đó giá trị được trả về

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Alice']: ", dict['Alice']
7

nguồn. dict_setdefault. py

Nếu đối số thứ hai bị bỏ qua, mục có giá trị là

dict['Name']:  Zara
dict['Age']:  7
27 sẽ được thêm vào và trả về
dict['Name']:  Zara
dict['Age']:  7
27

Bạn có thể tạo một từ điển không có giá trị Python không?

Trong Python, chúng ta có thể sử dụng các phương thức zip[] và len[] để tạo một từ điển trống có khóa . Phương thức này tạo một từ điển các khóa nhưng không trả về giá trị nào từ từ điển.

Bạn có thể xóa khóa khỏi từ điển Python không?

Để xóa khóa khỏi từ điển trong Python, hãy sử dụng phương thức pop[] hoặc từ khóa “del” . Cả hai phương pháp đều hoạt động giống nhau ở chỗ chúng loại bỏ các khóa khỏi từ điển. Phương thức pop[] chấp nhận một tên khóa làm đối số trong khi “del” chấp nhận một mục từ điển sau từ khóa del.

Từ điển có thể không có khóa nào không?

Liên kết Khóa-Giá trị 1-1 tiêu chuẩn vẫn tồn tại, vì vậy bạn không thể có nhiều thứ trong khóa Không có, nhưng sử dụng Không làm khóa thì không nên . Vấn đề là khi bạn muốn sắp xếp chính tả theo khóa. Tôi cho rằng đối với trường hợp như vậy, bạn cần tạo đối tượng đặc biệt để thay thế loại Không có. . The problem is when you want to sort the dict by key. I suppose for such case you need to create special object for replacing the None type.

Bạn có thể thêm khóa vào từ điển không có giá trị Python không?

Nếu loại giá trị của từ điển là null, bạn có thể thêm giá trị null . myDict. Thêm[key1, null]; .

Chủ Đề