Вы можете попробовать вот так:
dict1 = {u'GDR': [u'/var/www/cacti/rra/r1f-gdrx06zhry_traffic_in_14632.rrd'], u'TSA': [u'/var/www/cacti/rra/r1f-tsax02zhry_traffic_in_14954.rrd', u'/var/www/cacti/rra/r1f-tsax04zhry_traffic_in_14966.rrd']}
dict2 = dict()
for key, value in dict1.items():
if isinstance(value, list) and len(value) > 1:
value = ', '.join(value)
dict2[key] = value
else:
dict2[key] = value[0]
print(dict2)
Вывод:
{'GDR': '/var/www/cacti/rra/r1f-gdrx06zhry_traffic_in_14632.rrd', 'TSA': '/var/www/cacti/rra/r1f-tsax02zhry_traffic_in_14954.rrd, /var/www/cacti/rra/r1f-tsax04zhry_traffic_in_14966.rrd'}
Объяснение:
Перебор элементов dict с помощью for-loop
:
for key, value in dict1.items():
Проверьте для условия, превышает ли длина значения 1
и, если условие выполнено успешно, с помощью str.join()
соедините элементы списка с помощью ,
.и обновите новый dict2
ключом и значением.
Если условие не выполнено, добавьте ключ и value[0]
к новому dict2