Trong Python nếu tôi có một từ điển có một cặp giá trị khóa duy nhất và nếu tôi không biết khóa có thể là gì, làm thế nào tôi có thể nhận được giá trị?
.
Đã hỏi ngày 14 tháng 11 năm 2015 lúc 14:16Nov 14, 2015 at 14:16
Bạn chỉ cần sử dụng
for item in my_dict:
print[ list[ item.values[] ][0] ]
1.Điều này sẽ trả về một danh sách chứa tất cả các giá trị của từ điển của bạn mà không cần phải chỉ định bất kỳ khóa nào.
Bạn cũng có thể quan tâm:
2: Trả lại danh sách chứa các khóafor item in my_dict: print[ list[ item.values[] ][0] ]
3: Trả lại danh sách các bộ dữ liệufor item in my_dict: print[ list[ item.values[] ][0] ]
4for item in my_dict: print[ list[ item.values[] ][0] ]
Lưu ý rằng trong Python 3, giá trị trả về không thực sự là danh sách thích hợp mà là xem đối tượng.
Đã trả lời ngày 14 tháng 11 năm 2015 lúc 14:16Nov 14, 2015 at 14:16
DelgandelganDelgan
17.3k9 Huy hiệu vàng84 Huy hiệu bạc131 Huy hiệu đồng9 gold badges84 silver badges131 bronze badges
7
Giải pháp khác, sử dụng
for item in my_dict:
print[ list[ item.values[] ][0] ]
5 và giải nén:d = {"unknow_key": "value"}
_, v = d.popitem[]
assert v == "value"
Đã trả lời ngày 7 tháng 11 năm 2020 lúc 16:58Nov 7, 2020 at 16:58
Hơn nữa đến câu trả lời tuyệt vời của Delgan, đây là một ví dụ cho Python 3 trình bày cách sử dụng đối tượng xem:
Trong Python 3, bạn có thể in các giá trị, mà không biết/sử dụng các khóa, do đó:
for item in my_dict:
print[ list[ item.values[] ][0] ]
Example:
cars = {'Toyota':['Camry','Turcel','Tundra','Tacoma'],'Ford':['Mustang','Capri','OrRepairDaily'],'Chev':['Malibu','Corvette']}
vals = list[ cars.values[] ]
keyz = list[ cars.keys[] ]
cnt = 0
for val in vals:
print['[_' + keyz[cnt] + '_]']
if len[val]>1:
for part in val:
print[part]
else:
print[ val[0] ]
cnt += 1
OUTPUT:
[_Toyota_]
Camry
Turcel
Tundra
Tacoma
[_Ford_]
Mustang
Capri
OrRepairDaily
[_Chev_]
Malibu
Corvette
Đó là tài liệu tham khảo tài liệu PY3 đó:
//docs.python.org/3.5/library/stdtypes.html#dict-views
HALFER
19.7K17 Huy hiệu vàng92 Huy hiệu bạc178 Huy hiệu đồng17 gold badges92 silver badges178 bronze badges
Đã trả lời ngày 2 tháng 10 năm 2018 lúc 18:03Oct 2, 2018 at 18:03
CSSYPHUSCSSYPHUScssyphus
36K18 Huy hiệu vàng91 Huy hiệu bạc108 Huy hiệu đồng18 gold badges91 silver badges108 bronze badges
1
Một cách nữa: lặp với/in thông qua từ điển, chúng tôi nhận được [các] khóa của cặp giá trị khóa và với điều đó, chúng tôi nhận được giá trị của giá trị.
>>>my_dict = {'a' : 25}
>>>for key in my_dict:
print[my_dict[key]]
25
>>> my_other_dict = {'b': 33, 'c': 44}
>>> for key in my_other_dict:
print[my_other_dict[key]]
33
44
Đã trả lời ngày 14 tháng 10 năm 2021 lúc 12:13Oct 14, 2021 at 12:13
StefanostefanoStefano
Phim huy hiệu bạc 2111 silver badge5 bronze badges
Hai cách nữa:
>>> d = {'k': 'v'}
>>> next[iter[d.values[]]]
'v'
>>> v, = d.values[]
>>> v
'v'
Đã trả lời ngày 20 tháng 1 năm 2021 lúc 20:26Jan 20, 2021 at 20:26
Mưa mưa tuyệt vờisuperb rain
5.0312 Huy hiệu vàng8 Huy hiệu bạc23 Huy hiệu đồng2 gold badges8 silver badges23 bronze badges
Bài viết này mô tả cách lấy giá trị từ một từ điển [đối tượng loại
for item in my_dict:
print[ list[ item.values[] ][0] ]
6] bằng khóa trong Python.- Nhận giá trị từ từ điển với
7 [for item in my_dict: print[ list[ item.values[] ][0] ]
8 cho các khóa không tồn tại]for item in my_dict: print[ list[ item.values[] ][0] ]
- Sử dụng
9 để lấy giá trị mặc định cho các khóa không tồn tạifor item in my_dict: print[ list[ item.values[] ][0] ]
Nếu bạn muốn trích xuất các khóa theo giá trị, hãy xem bài viết sau.
- Nhận chìa khóa từ giá trị trong từ điển trong Python
Nhận giá trị từ từ điển với for item in my_dict:
print[ list[ item.values[] ][0] ]
7 [for item in my_dict:
print[ list[ item.values[] ][0] ]
8 cho các khóa không tồn tại]
for item in my_dict:
print[ list[ item.values[] ][0] ]
for item in my_dict:
print[ list[ item.values[] ][0] ]
Trong Python, bạn có thể nhận được giá trị từ một từ điển bằng cách chỉ định khóa như
for item in my_dict:
print[ list[ item.values[] ][0] ]
7.d = {'key1': 'val1', 'key2': 'val2', 'key3': 'val3'}
print[d['key1']]
# val1
Trong trường hợp này,
for item in my_dict:
print[ list[ item.values[] ][0] ]
8 được nâng lên nếu khóa không tồn tại.# print[d['key4']]
# KeyError: 'key4'
Lưu ý rằng không có vấn đề gì khi chỉ định khóa không tồn tại nếu bạn muốn thêm một phần tử mới.
d['key4'] = 'val4'
print[d]
# {'key1': 'val1', 'key2': 'val2', 'key3': 'val3', 'key4': 'val4'}
Để biết thêm thông tin về việc thêm các mục vào từ điển, hãy xem bài viết sau.
- Hợp nhất nhiều từ điển và thêm các mục vào từ điển trong Python
Sử dụng
cars = {'Toyota':['Camry','Turcel','Tundra','Tacoma'],'Ford':['Mustang','Capri','OrRepairDaily'],'Chev':['Malibu','Corvette']}
vals = list[ cars.values[] ]
keyz = list[ cars.keys[] ]
cnt = 0
for val in vals:
print['[_' + keyz[cnt] + '_]']
if len[val]>1:
for part in val:
print[part]
else:
print[ val[0] ]
cnt += 1
OUTPUT:
[_Toyota_]
Camry
Turcel
Tundra
Tacoma
[_Ford_]
Mustang
Capri
OrRepairDaily
[_Chev_]
Malibu
Corvette
4 để kiểm tra xem chìa khóa có tồn tại trong từ điển không.- Kiểm tra xem khóa/giá trị có tồn tại trong từ điển trong Python không
Sử dụng for item in my_dict:
print[ list[ item.values[] ][0] ]
9 để lấy giá trị mặc định cho các khóa không tồn tại
for item in my_dict:
print[ list[ item.values[] ][0] ]
Bạn có thể sử dụng phương thức
cars = {'Toyota':['Camry','Turcel','Tundra','Tacoma'],'Ford':['Mustang','Capri','OrRepairDaily'],'Chev':['Malibu','Corvette']}
vals = list[ cars.values[] ]
keyz = list[ cars.keys[] ]
cnt = 0
for val in vals:
print['[_' + keyz[cnt] + '_]']
if len[val]>1:
for part in val:
print[part]
else:
print[ val[0] ]
cnt += 1
OUTPUT:
[_Toyota_]
Camry
Turcel
Tundra
Tacoma
[_Ford_]
Mustang
Capri
OrRepairDaily
[_Chev_]
Malibu
Corvette
6 của từ điển [for item in my_dict:
print[ list[ item.values[] ][0] ]
6] để nhận bất kỳ giá trị mặc định nào mà không có lỗi nếu khóa không tồn tại.- Các loại tích hợp - Dict.get [] - Tài liệu Python 3.9.1
Chỉ định khóa là đối số đầu tiên. Giá trị tương ứng được trả về nếu khóa tồn tại và
cars = {'Toyota':['Camry','Turcel','Tundra','Tacoma'],'Ford':['Mustang','Capri','OrRepairDaily'],'Chev':['Malibu','Corvette']}
vals = list[ cars.values[] ]
keyz = list[ cars.keys[] ]
cnt = 0
for val in vals:
print['[_' + keyz[cnt] + '_]']
if len[val]>1:
for part in val:
print[part]
else:
print[ val[0] ]
cnt += 1
OUTPUT:
[_Toyota_]
Camry
Turcel
Tundra
Tacoma
[_Ford_]
Mustang
Capri
OrRepairDaily
[_Chev_]
Malibu
Corvette
8 được trả về nếu khóa không tồn tại.print[d.get['key1']]
# val1
print[d.get['key5']]
# None
Bạn có thể chỉ định giá trị mặc định sẽ được trả về khi khóa không tồn tại trong đối số thứ hai.
print[d.get['key5', 'NO KEY']]
# NO KEY
print[d.get['key5', 100]]
# 100
Từ điển ban đầu không thay đổi.
for item in my_dict:
print[ list[ item.values[] ][0] ]
0