Разделение списка на части с помощи символа запятая [ , ]
Доброго времени суток всем!!! У меня есть словарь, пример:
Caption = [
{
'ter': '11',
'ber': '22',
'ner': {
'a': '1',
'b': '2',
'c': '3',
'd': '4',
'e': '5'
}
},
{
'ter': '11',
'ber': '22',
'ner': {
'a': '1',
'b': '2',
'c': '3',
'd': '4',
'e': '5'
}
},
{
'ter': '11',
'ber': '22',
'ner': {
'a': '1',
'b': '2',
'c': '3',
'd': '4',
'e': '5'
}
},
]
я пробегаюсь по всему словарю, далее преобразую его в список и вывожу только значение, но данные которые выводятся не совсем в нужном формате. Нужно чтобы было каждая строчка разделялась скобкой и запятой вот так пример:
Caption = [('1', '2', '3', '4', '5'),
('1', '2', '3', '4', '5'),
('1', '2', '3', '4', '5'),
('1', '2', '3', '4', '5')]
А выводятся данные сплошняком в одну строчку без запятой.
Caption = [('1', '2', '3', '4', '5',
'1', '2', '3', '4', '5',
'1', '2', '3', '4', '5',
'1', '2', '3', '4', '5',)]
вот код который я написал:
def listos(Caption):
distr = []
for i in range(len(Caption)):
rsort = Caption[i]['ner']
for key, value in rsort.items():
distr.append(value)
return [tuple(distr)]
print(listos(Caption))
Помогите пожалуйста решить данное затруднения.
Ответы (2 шт):
В функции listos теряется информация о том, как нужно разделять массив на строки Как вариант, функция может возвращать список списков:
def listos(Caption):
distr = []
for i in range(len(Caption)):
rsort = Caption[i]['ner']
lst = []
for key, value in rsort.items():
lst.append(value)
distr.append(lst)
return tuple(distr)
И тогда print можно вызвать так:
print(*listos(Caption), sep=";\n")
В питоне разделителем является запятая, а не точка с запятой. Также у Вас нейминг переменных не по pep.
def listos(Caption):
ners = []
for item in Caption:
ners.append(tuple(item["ner"].values()))
return ners
print(listos(Caption))
# [('1', '2', '3', '4', '5'), ('1', '2', '3', '4', '5'), ('1', '2', '3', '4', '5')]