我可以帮您翻译成中文。以下是需要翻译的内容:
我用Python尝试了下面的代码。
我有一个包含多个字典的列表,使用Python语言。
[{"country": "IE", "values": ["Server1-17.6650", "Server3-78.6064", "Server2-3.7286"]}, {"country": "CA", "values": ["Server1-100.0000"]}, {"country": "DE", "values": ["Server2-100.0000"]}, {"country": "JP", "values": ["Server2-100.0000"]}, {"country": "IT", "values": ["Server1-100.0000"]}, {"country": "US", "values": ["Server1-6.3158", "Server3-15.7895", "Server2-77.8947", "Server1-5.5556", "Server3-2.7778", "Server2-91.6667", "Server1-12.6145", "Server3-86.8043", "Server2-0.5811"]}, {"country": "CZ", "values": ["Server1-100.0000"]}, {"country": None, "values": ["Server1-100.0000", "Server2-100.0000", "Server2-100.0000", "Server1-100.0000"]}, {"country": "A", "values": ["Server2-100.0000"]}, {"country": "IL", "values": ["Server1-100.0000"]}, {"country": "BR", "values": ["Server2-100.0000"]}, {"country": "KP", "values": ["Server1-100.0000"]}, {"country": "SG", "values": ["Server1-79.2000", "Server2-20.8000"]}, {"country": "ES", "values": ["Server1-100.0000"]}]
现在对于每个 values
,如果服务器名称在列表中重复,则必须在服务器后的 -
值上取平均值。 对于上面的列表,最终输出如下。
[{"country": "IE", "values": ["Server1-17.6650", "Server3-78.6064", "Server2-3.7286"]}, {"country": "CA", "values": ["Server1-100.0000"]}, {"country": "DE", "values": ["Server2-100.0000"]}, {"country": "JP", "values": ["Server2-100.0000"]}, {"country": "IT", "values": ["Server1-100.0000"]}, {"country": "US", "values": ["Server1-8.1619", "Server3-35.1238", "Server2-56.7141"]}, {"country": "CZ", "values": ["Server1-100.0000"]}, {"country": None, "values": ["Server1-100.0000", "Server2-100.0000", "Server2-100.0000", "Server1-100.0000"]}, {"country": "AU", "values": ["Server2-100.0000"]}, {"country": "IL", "values": ["Server1-100.0000"]}, {"country": "BR", "values": ["Server2-100.0000"]}, {"country": "KP", "values": ["Server1-100.0000"]}, {"country": "SG", "values": ["Server1-79.2000", "Server2-20.8000"]}, {"country": "ES", "values": ["Server1-100.0000"]}]
我用Python尝试了下面的代码。
for key_dict in resp:
for i, value in enumerate(key_dict['values']):
for j, new_value in enumerate(key_dict['values']):
if value[:value.index('-')] == new_value[:new_value.index('-')]:
key_dict['values'][i] = value[:value.index('-')] + str(float(value[value.index('-'):]) + float(new_value[new_value.index('-'):]))
del key_dict['values'][j]
但这并不能产生我所需的结果。有没有人能指出如何在Python中实现这一点。