Tôi có thể lập chỉ mục một từ điển Python không?

Từ điển được sử dụng để lưu trữ các cặp khóa-giá trị trong Python. Nói chung, chúng ta không thể truy cập từ điển bằng cách sử dụng chỉ mục của các phần tử của chúng cho các bộ sưu tập khác như danh sách hoặc mảng

Trước Python 3. 7, từ điển không có thứ tự. Mỗi khóa-giá trị được đặt theo thứ tự ngẫu nhiên trong từ điển. Chúng ta có thể sử dụng phương thức

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
values = list[d.values[]]
print[values[1]]
2 từ mô-đun
d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
values = list[d.values[]]
print[values[1]]
3 trong những trường hợp này. Nó giữ nguyên thứ tự các cặp khóa-giá trị được thêm vào từ điển

Trong Trăn 3. 7 trở lên, các từ điển được đặt theo thứ tự theo mặc định

Chúng ta có thể truy cập các khóa, giá trị và các cặp khóa-giá trị bằng cách sử dụng chỉ mục trong các từ điển mà thứ tự được bảo toàn

Truy cập các khóa từ một từ điển bằng cách sử dụng chỉ mục

Chúng ta sẽ sử dụng phương thức

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
values = list[d.values[]]
print[values[1]]
4, phương thức này trả về một tập hợp các khóa. Chúng tôi có thể sử dụng chỉ mục để truy cập khóa được yêu cầu từ bộ sưu tập này sau khi chuyển đổi nó thành danh sách

Hãy nhớ sử dụng hàm

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
values = list[d.values[]]
print[values[1]]
5 với hàm
d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
values = list[d.values[]]
print[values[1]]
4,
d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
values = list[d.values[]]
print[values[1]]
7 và
from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
0. Đó là vì chúng không trả về danh sách truyền thống và không cho phép truy cập vào các phần tử bằng chỉ mục

Sau đây chứng minh điều này

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
keys = list[d.keys[]]
print[keys[1]]

đầu ra

Khi làm việc bên dưới Python 3. 7, hãy nhớ sử dụng phương pháp

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
values = list[d.values[]]
print[values[1]]
2 để tạo từ điển cần thiết với thứ tự được duy trì. Ví dụ,

from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]

đầu ra

Truy cập các giá trị từ một từ điển bằng cách sử dụng chỉ mục trong Python

Khi chúng tôi muốn trả về một tập hợp tất cả các giá trị từ một từ điển, chúng tôi sử dụng hàm

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
values = list[d.values[]]
print[values[1]]
7

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
values = list[d.values[]]
print[values[1]]

đầu ra

Truy cập các cặp khóa-giá trị từ một từ điển bằng cách sử dụng chỉ mục trong Python

Hàm

from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
0 trả về một tập hợp tất cả các cặp khóa-giá trị của từ điển, với mỗi phần tử được lưu dưới dạng một bộ

Chỉ mục có thể được sử dụng để truy cập các cặp này từ danh sách

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
values = list[d.items[]]
print[values[1]]

đầu ra

Hãy nhớ sử dụng hàm

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
values = list[d.values[]]
print[values[1]]
2 với tất cả các phương thức nếu phiên bản Python của bạn không giữ nguyên thứ tự của từ điển

Rivers Clothing có danh sách Nhân viên. Họ muốn tìm tên của nhân viên trẻ nhất của họ. Họ biết người này 19 tuổi. Danh sách này ở định dạng Từ điển và bạn đã được yêu cầu truy xuất tên được liên kết

💬 câu hỏi. Làm cách nào chúng ta viết mã Python để truy cập Khóa từ điển theo chỉ mục?

Chúng ta có thể hoàn thành nhiệm vụ này bằng một trong các tùy chọn sau

  • Phương pháp 1. Sử dụng từ điển và danh sách
  • Phương pháp 2. Sử dụng Danh sách và
    from collections import OrderedDict
    d1 = OrderedDict[] 
    d1['a'] = 0
    d1['b'] = 1
    d1['c'] = 2
    keys = list[d1.keys[]]
    print[keys[1]]
    
    1
  • Phương pháp 3. Sử dụng Danh sách Hiểu và
    from collections import OrderedDict
    d1 = OrderedDict[] 
    d1['a'] = 0
    d1['b'] = 1
    d1['c'] = 2
    keys = list[d1.keys[]]
    print[keys[1]]
    
    1
  • Phương pháp 4. Sử dụng hiểu từ điển và
    from collections import OrderedDict
    d1 = OrderedDict[] 
    d1['a'] = 0
    d1['b'] = 1
    d1['c'] = 2
    keys = list[d1.keys[]]
    print[keys[1]]
    
    1

Phương pháp 1. Sử dụng từ điển và danh sách

Hai tùy chọn này trong phương pháp này chuyển đổi Từ điển thành định dạng Danh sách để trích xuất các khóa. Sau đó, khóa thích hợp được truy cập dựa trên tình huống trên

staff = {'Amy': 23, 'Ben': 32, 'Micah': 37, 'Jon': 19,  'Karn': 39}
names = list[staff]
print[names[3]]

Mã này khai báo một Từ điển chứa năm [5] khóa. các cặp giá trị và lưu chúng vào

from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
4

Tùy chọn 1 ở trên chuyển đổi

from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
4 thành định dạng Danh sách, giải nén các khóa và lưu chúng vào
staff = {'Amy': 23, 'Ben': 32, 'Micah': 37, 'Jon': 19,  'Karn': 39}
print[list[staff][3]]
1. Nội dung của khóa thích hợp [
staff = {'Amy': 23, 'Ben': 32, 'Micah': 37, 'Jon': 19,  'Karn': 39}
print[list[staff][3]]
2] được xuất ra thiết bị đầu cuối

HOẶC

staff = {'Amy': 23, 'Ben': 32, 'Micah': 37, 'Jon': 19,  'Karn': 39}
print[list[staff][3]]

Tùy chọn 2 ở trên trích xuất các khóa từ

from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
4 và chuyển đổi chúng thành định dạng Danh sách tham chiếu đến khóa thích hợp [
staff = {'Amy': 23, 'Ben': 32, 'Micah': 37, 'Jon': 19,  'Karn': 39}
print[list[staff][3]]
2] và gửi đầu ra đến thiết bị đầu cuối

💡Lưu ý. Cả hai tùy chọn đều cho kết quả giống nhau. Tuy nhiên, Phương án 2 nhỏ gọn hơn

Từ điển Python – Hướng dẫn cơ bản


Xem video này trên YouTube

đầu ra

Jon

Phương pháp 2. Sử dụng Danh sách và dict. mặt hàng[]

Ví dụ này chuyển đổi Từ điển thành định dạng Danh sách, sau đó trích xuất và trả về khóa. các cặp giá trị dưới dạng Danh sách Tuples

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
keys = list[d.keys[]]
print[keys[1]]
1

Mã này khai báo một Từ điển chứa năm [5] khóa. các cặp giá trị và lưu chúng vào

from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
4. Sau đó,
staff = {'Amy': 23, 'Ben': 32, 'Micah': 37, 'Jon': 19,  'Karn': 39}
print[list[staff][3]]
6 được gọi để trích xuất các cặp này dưới dạng Danh sách các bộ dữ liệu

Nếu chúng tôi xuất

staff = {'Amy': 23, 'Ben': 32, 'Micah': 37, 'Jon': 19,  'Karn': 39}
print[list[staff][3]]
7 đến thiết bị đầu cuối, Danh sách các bộ dữ liệu sau đây sẽ hiển thị

staff = {'Amy': 23, 'Ben': 32, 'Micah': 37, 'Jon': 19,  'Karn': 39}
print[list[staff][3]]
8

Nếu chúng ta xuất [

staff = {'Amy': 23, 'Ben': 32, 'Micah': 37, 'Jon': 19,  'Karn': 39}
print[list[staff][3]]
9] ra thiết bị đầu cuối, Tuple được tham chiếu từ Danh sách sẽ hiển thị

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
keys = list[d.keys[]]
print[keys[1]]
10

Sau đó, để truy xuất phần tử đầu tiên của Tuple này,

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
keys = list[d.keys[]]
print[keys[1]]
11 được thêm vào
staff = {'Amy': 23, 'Ben': 32, 'Micah': 37, 'Jon': 19,  'Karn': 39}
print[list[staff][3]]
1 [
d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
keys = list[d.keys[]]
print[keys[1]]
13]. Cuối cùng, kết quả này được xuất ra thiết bị đầu cuối

Python chính tả. item[] Phương thức


Xem video này trên YouTube

đầu ra

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
keys = list[d.keys[]]
print[keys[1]]
14

Phương pháp 3. Sử dụng Danh sách hiểu và đọc chính tả. mặt hàng[]

Ví dụ này sử dụng Khả năng hiểu danh sách và

from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
1 để tìm kiếm và trả về khóa thích hợp dựa trên một giá trị

from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
1

Mã này khai báo một Từ điển chứa năm [5] khóa. các cặp giá trị và lưu chúng vào

from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
4. Tính năng Hiểu danh sách được sử dụng với
from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
1 tìm kiếm và trả về khóa thích hợp khi giá trị được liên kết của nó bằng 19

Kết quả xuất ra thiết bị đầu cuối

đầu ra

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
keys = list[d.keys[]]
print[keys[1]]
18

Để loại bỏ các dấu ngoặc và dấu ngoặc kép xung quanh, hãy thêm

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
keys = list[d.keys[]]
print[keys[1]]
11 vào cuối câu lệnh Hiểu danh sách để tạo ra kết quả mong muốn

from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
4

đầu ra

Jon

Phương pháp 4. Sử dụng Từ điển Hiểu và đọc chính tả. mặt hàng[]

Ví dụ này sử dụng Từ điển Hiểu và đọc chính tả. items[] để tìm kiếm và trả về khóa thích hợp dựa trên một giá trị

from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
5

Mã này khai báo một Từ điển chứa năm [5] khóa. các cặp giá trị và lưu chúng vào

from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
4. Tính năng Hiểu từ điển với
from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
1 tìm kiếm và trả về khóa thích hợp khi giá trị được liên kết của nó bằng 19

Kết quả xuất ra thiết bị đầu cuối

Hiểu từ điển Python - Hướng dẫn một lớp mạnh mẽ


Xem video này trên YouTube

Như đã trình bày ở trên, nếu

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
keys = list[d.keys[]]
print[keys[1]]
11 không được thêm vào
from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
13 trong câu lệnh in, [
from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
14] kết quả sau sẽ hiển thị

đầu ra

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
keys = list[d.keys[]]
print[keys[1]]
18

Để loại bỏ các dấu ngoặc và dấu ngoặc kép xung quanh, hãy thêm

d = {} 
d['a'] = 0
d['b'] = 1
d['c'] = 2
keys = list[d.keys[]]
print[keys[1]]
11 vào câu lệnh in [
from collections import OrderedDict
d1 = OrderedDict[] 
d1['a'] = 0
d1['b'] = 1
d1['c'] = 2
keys = list[d1.keys[]]
print[keys[1]]
17] để tạo ra kết quả mong muốn

Jon

Bản tóm tắt

Năm [4] phương pháp truy cập Khóa từ điển theo chỉ mục này sẽ cung cấp cho bạn đủ thông tin để chọn phương pháp tốt nhất cho các yêu cầu mã hóa của bạn

Bạn có thể lập chỉ mục các giá trị từ điển không?

Để truy cập các giá trị từ điển, chúng tôi không thể sử dụng chỉ mục số [như chúng tôi làm với danh sách hoặc bộ dữ liệu], vì từ điển là vùng chứa không có thứ tự.

Có chỉ mục trong từ điển?

Các thành phần của từ điển xuất hiện trong danh sách được phân tách bằng dấu phẩy. Mỗi mục chứa một chỉ mục và một giá trị được phân tách bằng dấu hai chấm. Trong từ điển, các chỉ mục được gọi là khóa, vì vậy các phần tử được gọi là cặp khóa-giá trị.

Mục lục từ điển là gì?

danh từ, số nhiều in·dex·es, in·di·ces [in-duh-seez]. [trong một cuốn sách phi hư cấu, chuyên khảo, v.v. ] một danh sách tên, địa điểm và chủ đề theo thứ tự chữ cái chi tiết hơn hoặc ít hơn cùng với số trang mà chúng được đề cập hoặc thảo luận, thường được đưa vào hoặc cấu thành vấn đề phía sau

Bạn có thể tăng giá trị từ điển không?

Chúng ta cũng có thể sử dụng hàm setdefault[] tích hợp sẵn để tăng giá trị của từ điển . Hoạt động của hàm setdefault[] tương tự như hàm get[]. Nó lấy khóa làm đầu vào và trả về giá trị của khóa đó nếu nó tồn tại trong từ điển đó. Nếu nó không tồn tại, thì nó sẽ trả về giá trị đã chỉ định.

Chủ Đề