Bài viết này mô tả cách lấy khóa từ giá trị trong một từ điển [đối tượng loại dict
] trong Python.
- Nhận khóa từ giá trị với danh sách hiểu và
items[]
- Mã mẫu để trích xuất các khóa với các điều kiện khác nhau
Để có được giá trị bằng khóa, chỉ cần chỉ định khóa như sau.
d = {'key1': 'aaa', 'key2': 'aaa', 'key3': 'bbb'}
value = d['key1']
print[value]
# aaa
Bạn cũng có thể sử dụng phương thức get[]
để lấy giá trị bằng khóa. Nếu bạn sử dụng phương thức get[]
, không có lỗi nào được nêu ra ngay cả khi bạn chỉ định khóa không tồn tại. Xem bài viết sau đây.
- Nhận giá trị từ từ điển theo khóa với get [] trong python
Bạn cũng có thể sử dụng phương thức
d = {'key1': 'aaa', 'key2': 'aaa', 'key3': 'bbb'}
1 để có được danh sách tất cả các khóa.- Lặp lại từ điển [khóa và giá trị] với vòng lặp trong Python
Nhận khóa từ giá trị với danh sách hiểu và các mục []
Để có được khóa từ giá trị trong từ điển, hãy sử dụng phương pháp hiểu danh sách và phương thức items[]
.
Để biết danh sách toàn diện và các vòng lặp
d = {'key1': 'aaa', 'key2': 'aaa', 'key3': 'bbb'}
3 cho từ điển, hãy xem các bài viết sau.- Liệt kê sự hiểu biết trong Python
- Lặp lại từ điển [khóa và giá trị] với vòng lặp trong Python
Nhận khóa từ giá trị với danh sách hiểu và các mục []
d = {'key1': 'aaa', 'key2': 'aaa', 'key3': 'bbb'}
keys = [k for k, v in d.items[] if v == 'aaa']
print[keys]
# ['key1', 'key2']
keys = [k for k, v in d.items[] if v == 'bbb']
print[keys]
# ['key3']
keys = [k for k, v in d.items[] if v == 'xxx']
print[keys]
# []
Để có được khóa từ giá trị trong từ điển, hãy sử dụng phương pháp hiểu danh sách và phương thức items[]
.
Để biết danh sách toàn diện và các vòng lặp
d = {'key1': 'aaa', 'key2': 'aaa', 'key3': 'bbb'}
3 cho từ điển, hãy xem các bài viết sau.Liệt kê sự hiểu biết trong Python
Sau đây là mã mẫu để có được danh sách các khóa được ghép nối với một giá trị được chỉ định. Nếu khóa có giá trị được chỉ định không tồn tại, một danh sách trống sẽ được trả về.
def get_keys_from_value[d, val]:
return [k for k, v in d.items[] if v == val]
keys = get_keys_from_value[d, 'aaa']
print[keys]
# ['key1', 'key2']
Nếu bạn muốn tự nhận khóa thay vì danh sách, bạn có thể chỉ định phần tử đầu tiên của danh sách với
d = {'key1': 'aaa', 'key2': 'aaa', 'key3': 'bbb'}
4.Lưu ý rằng nếu một khóa có giá trị được chỉ định không tồn tại, nó sẽ là một danh sách trống, do đó chỉ định
d = {'key1': 'aaa', 'key2': 'aaa', 'key3': 'bbb'}
4 sẽ tăng d = {'key1': 'aaa', 'key2': 'aaa', 'key3': 'bbb'}
6.def get_key_from_value[d, val]:
keys = [k for k, v in d.items[] if v == val]
if keys:
return keys[0]
return None
key = get_key_from_value[d, 'aaa']
print[key]
# key1
key = get_key_from_value[d, 'bbb']
print[key]
# key3
key = get_key_from_value[d, 'xxx']
print[key]
# None
key = [k for k, v in d.items[] if v == 'aaa'][0]
print[key]
# key1
key = [k for k, v in d.items[] if v == 'bbb'][0]
print[key]
# key3
# key = [k for k, v in d.items[] if v == 'xxx'][0]
# print[key]
# IndexError: list index out of range
Nếu bạn lặp lại cùng một thao tác, nó rất hữu ích để biến nó thành một chức năng.
d_num = {'key1': 1, 'key2': 2, 'key3': 3}
keys = [k for k, v in d_num.items[] if v >= 2]
print[keys]
# ['key2', 'key3']
keys = [k for k, v in d_num.items[] if v % 2 == 1]
print[keys]
# ['key1', 'key3']
d_str = {'key1': '', 'key2': '', 'key3': ''}
keys = [k for k, v in d_str.items[] if v.endswith['com']]
print[keys]
# ['key1', 'key3']