[英]finding and replacing values in list in python dictionary
我有這個練習需要解決 class。 我要做的是將所有低於 50 的值更改為 50 並打印更新的字典。
這是字典
precios = {
'ACCIONA': [78.60, 84.95, 77.20],
'ACERINOX': [5.88, 51.25, 58.42],
'INDITEX': [49.99, 57.89, 68.5],
'ENEGAS': [0.5, 0.78, 48.75],
'FERROVIAL': [78.58, 24.25, 65.45]
}
這是我到目前為止所做的:
for i in precios.values():
for item in i:
if item < 50:
item = 50
但是,當我嘗試打印帶有更改的字典時,它只會打印原始字典。
嘗試這個。
for k,v in precios.items():
#k = key, v = value
#list comprehension to make new list of dictionaries values
new = [50 if nums < 50 else nums for nums in v ]
#update
precios[k] = new
output
{'ACCIONA': [78.6, 84.95, 77.2], 'ACERINOX': [50, 51.25, 58.42], 'INDITEX': [50, 57.89, 68.5], 'ENEGAS': [50, 50, 50], 'FERROVIAL': [78.58, 50, 65.45]}
使用 for 循環而不是 for-each 循環作為內部循環:
for l in precios.values():
for i in range(len(l)):
if l[i] < 50:
l[i] = 50
print(precios)
{'ACCIONA': [78.6, 84.95, 77.2], 'ACERINOX': [50, 51.25, 58.42], 'INDITEX': [50, 57.89, 68.5], 'ENEGAS': [50, 50, 50], 'FERROVIAL': [78.58, 50, 65.45]}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.