Câu trả lời:
Nếu bạn chỉ cần các phím từ điển 1
, 2
và 3
sử dụng: your_dict.keys()
.
Nếu bạn chỉ cần các giá trị điển -0.3246
, -0.9185
và -3985
sử dụng: your_dict.values()
.
Nếu bạn muốn cả khóa và giá trị sử dụng: your_dict.items()
sẽ trả về một danh sách các bộ dữ liệu [(key1, value1), (key2, value2), ...]
.
Sử dụng values()
>>> d = {1:-0.3246, 2:-0.9185, 3:-3985}
>>> d.values()
<<< [-0.3246, -0.9185, -3985]
Nếu bạn muốn tất cả các giá trị, sử dụng điều này:
dict_name_goes_here.values()
Nếu bạn muốn tất cả các phím, sử dụng:
dict_name_goes_here.keys()
NẾU bạn muốn tất cả các mục (cả khóa và giá trị), tôi sẽ sử dụng mục này:
dict_name_goes_here.items()
Gọi values()
phương thức trên dict.
Đối với các dicts lồng nhau, danh sách các dicts và dicts của các dicts được liệt kê, ... bạn có thể sử dụng
def get_all_values(d):
if isinstance(d, dict):
for v in d.values():
yield from get_all_values(v)
elif isinstance(d, list):
for v in d:
yield from get_all_values(v)
else:
yield d
Một ví dụ:
d = {'a': 1, 'b': {'c': 2, 'd': [3, 4]}, 'e': [{'f': 5}, {'g': 6}]}
list(get_all_values(d)) # returns [1, 2, 3, 4, 5, 6]
Tái bút: Tôi yêu yield
. ;-)
Đối với Python 3, bạn cần:
list_of_dict_values = list(dict_name.values())
list()
là cần thiết
Nếu bạn muốn tất cả các giá trị, sử dụng điều này:
dict_name_goes_here.values()
d = <dict>
values = d.values()
Để xem các phím:
for key in d.keys():
print(key)
Để có được các giá trị mà mỗi khóa được tham chiếu:
for key in d.keys():
print(d[key])
Thêm vào danh sách:
for key in d.keys():
mylist.append(d[key])
Về nguyên tắc, gõ vịt Pythonic sẽ xác định những gì một đối tượng có thể làm, tức là các thuộc tính và phương thức của nó. Bằng cách nhìn vào một đối tượng từ điển, người ta có thể cố gắng đoán nó có ít nhất một trong các cách sau: dict.keys()
hoặc dict.values()
phương thức. Bạn nên cố gắng sử dụng phương pháp này cho công việc trong tương lai với các ngôn ngữ lập trình có kiểm tra kiểu xảy ra trong thời gian chạy, đặc biệt là các ngôn ngữ có tính chất gõ vịt.
list(your_dict.values())
để lấy danh sách (chứ không phải đối tượng dict_values).