Bài viết này mô tả cách lấy khóa từ giá trị trong từ điển [no___trans___pre___7 đối tượng loại] trong Python.
- Nhận chìa khóa từ giá trị với danh sách hiểu và no___trans___pre___8
- 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 NO___Trans___Pre___9 để nhận giá trị bằng khóa. Nếu bạn sử dụng phương thức NO___Trans___Pre___9, không có lỗi nào được nêu ra ngay cả khi bạn chỉ định một 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 NO___Trans___Pre___11 để 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 danh sách hiểu và không có phương thức ___trans___pre___8.
Để biết danh sách toàn diện và NO___TRANS___PRE___13 LOOPS để biết 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 danh sách hiểu và không có phương thức ___trans___pre___8.
Để biết danh sách toàn diện và NO___TRANS___PRE___13 LOOPS để biết 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 số ___trans___pre___14.
Lưu ý rằng nếu một khóa có giá trị được chỉ định không tồn tại, thì đó sẽ là một danh sách trống, do đó, việc chỉ định NO___TRANS___PRE___14 sẽ tăng NO___TRANS___PRE___16.
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']