Khóa Python không có trong danh sách

Để lấy danh sách các giá trị từ điển từ danh sách khóa, hãy sử dụng câu lệnh hiểu danh sách

d = {'alice': 18, 'bob': 24, 'carl': 32}
keys = ['carl', 'bob']

result = [d[key] for key in keys]

print[result]
# [32, 24]
0 lặp lại từng khóa trong danh sách khóa và đặt giá trị liên quan d[key] vào danh sách mới tạo

d = {'alice': 18, 'bob': 24, 'carl': 32}
keys = ['carl', 'bob']

result = [d[key] for key in keys]

print[result]
# [32, 24]

Điều này truy cập từng giá trị một cách riêng biệt trong một đoạn mã một lớp ngắn gọn. Nếu bạn cần xem lại cách hiểu danh sách, hãy xem video này

Giới thiệu đơn giản về hiểu danh sách trong Python


Xem video này trên YouTube

Bạn cũng có thể đọc qua hướng dẫn đầy đủ về hiểu danh sách

Tuy nhiên, bạn nên biết rằng nếu không tìm thấy khóa, Python sẽ báo lỗi KeyError

d = {'alice': 18, 'bob': 24, 'carl': 32}
keys = ['carl', 'bob', 'guido']

result = [d[key] for key in keys]

print[result]

Đầu ra của đoạn mã này là một

d = {'alice': 18, 'bob': 24, 'carl': 32}
keys = ['carl', 'bob']

result = [d[key] for key in keys]

print[result]
# [32, 24]
2

...
    result = [d[key] for key in keys]
KeyError: 'guido'

Để khắc phục điều này mà không cần sử dụng câu lệnh try/except rườm rà, chỉ cần kết thúc câu lệnh hiểu danh sách bằng một cơ chế kiểm tra dưới dạng mệnh đề

d = {'alice': 18, 'bob': 24, 'carl': 32}
keys = ['carl', 'bob']

result = [d[key] for key in keys]

print[result]
# [32, 24]
3

d = {'alice': 18, 'bob': 24, 'carl': 32}
keys = ['carl', 'bob', 'guido']

result = [d[key] for key in keys if key in d]

print[result]
# [32, 24]

Phương pháp 2. cho vòng lặp

Để lấy danh sách các giá trị từ danh sách khóa, bạn cũng có thể lặp lại tất cả các khóa trong một vòng lặp for đơn giản. Phần thân vòng lặp chỉ bao gồm một câu lệnh

d = {'alice': 18, 'bob': 24, 'carl': 32}
keys = ['carl', 'bob']

result = [d[key] for key in keys]

print[result]
# [32, 24]
4 lấp đầy danh sách trống ban đầu với các giá trị từ điển liên quan thu được thông qua d[key]

________số 8_______

Đây là hình thức phổ biến nhất được sử dụng bởi những người mới bắt đầu chưa quen với việc hiểu danh sách. Tuy nhiên, mặc dù nó không phải là giải pháp ngắn gọn nhất, tôi vẫn coi nó là Pythonic do tính dễ đọc và đơn giản của nó

Bạn có thể tìm hiểu thêm về câu lệnh

d = {'alice': 18, 'bob': 24, 'carl': 32}
keys = ['carl', 'bob']

result = [d[key] for key in keys]

print[result]
# [32, 24]
4 trong video sau

Danh sách Python append[] Phương thức


Xem video này trên YouTube

Phương pháp 3. Chức năng bản đồ

Cách ngắn gọn nhất nhưng ít dễ đọc nhất để lấy danh sách các giá trị từ danh sách các khóa từ điển là sử dụng biểu thức

d = {'alice': 18, 'bob': 24, 'carl': 32}
keys = ['carl', 'bob']

result = [d[key] for key in keys]

print[result]
# [32, 24]
7, lần đầu tiên áp dụng hàm
d = {'alice': 18, 'bob': 24, 'carl': 32}
keys = ['carl', 'bob']

result = [d[key] for key in keys]

print[result]
# [32, 24]
8 cho mỗi khóa để có được một giá trị liên quan có thể lặp lại—và chuyển đổi mọi thứ thành danh sách bằng cách sử dụng

d = {'alice': 18, 'bob': 24, 'carl': 32}
keys = ['carl', 'bob']

result = list[map[d.get, keys]]

print[result]
# [32, 24]

Để tìm hiểu thêm về hàm

d = {'alice': 18, 'bob': 24, 'carl': 32}
keys = ['carl', 'bob', 'guido']

result = [d[key] for key in keys]

print[result]
0, vui lòng xem video sau

Làm chủ chức năng bản đồ Python [+Video]


Xem video này trên YouTube

Hoặc đọc hướng dẫn đầy đủ về hàm

d = {'alice': 18, 'bob': 24, 'carl': 32}
keys = ['carl', 'bob', 'guido']

result = [d[key] for key in keys]

print[result]
0. Đó sẽ là thời gian sử dụng tốt. 🙂

Đi đâu từ đây?

Đủ lý thuyết. Hãy thực hành một số

Các lập trình viên được trả sáu con số trở lên vì họ có thể giải quyết vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa

Để trở nên thành công hơn trong việc viết mã, hãy giải quyết nhiều vấn đề thực tế hơn cho người thực. Đó là cách bạn trau dồi những kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, việc sử dụng lý thuyết học tập mà không ai cần là gì?

Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án mã hóa thực tế

Bạn có muốn ngừng học với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không?

🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người mới hoàn toàn

Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã trực tuyến của mình cũng như cách bạn có thể làm được—từ sự thoải mái của bạn

Tham gia hội thảo trên web miễn phí ngay bây giờ

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Các khóa có thể nằm trong danh sách trong Python không?

00. 19 Một khóa phải là bất biến—nghĩa là không thể thay đổi. Đây là những thứ như số nguyên, số float, chuỗi, Booleans, hàm. Ngay cả các bộ dữ liệu cũng có thể là một khóa. Từ điển hoặc danh sách không thể là khóa .

keys[] có trả về một danh sách không?

keys[] và dict. values[] trả về danh sách các khóa hoặc giá trị một cách rõ ràng . Ngoài ra còn có một items[] trả về danh sách các bộ dữ liệu [khóa, giá trị], đây là cách hiệu quả nhất để kiểm tra tất cả dữ liệu giá trị khóa trong từ điển. Tất cả các danh sách này có thể được chuyển đến hàm sorted[].

Tại sao danh sách không thể có khóa?

Vì danh sách có thể thay đổi nên các khóa dict cần phải có thể băm và việc băm các đối tượng có thể thay đổi là một ý tưởng tồi vì giá trị băm phải được tính toán trên cơ sở các thuộc tính thực thể. ví dụ 1. băm một đối tượng có thể thay đổi trong đó giá trị băm dựa trên một đặc tính có thể thay đổi của đối tượng.

Điều gì xảy ra nếu khóa không có trong từ điển Python?

Khi bạn lập chỉ mục một từ điển có khóa không tồn tại, từ điển sẽ báo lỗi . Do đó, một cách an toàn là kiểm tra xem khóa có tồn tại trong từ điển hay không trước khi trích xuất giá trị của khóa đó. Với mục đích đó, Python cung cấp hai chức năng tích hợp. has_key[]

Chủ Đề