У меня есть словарь по названию temp
dict_items([('/history/apollo/', ['6245', '6245', '6245', '6245', '6245', '6245', '6245',
'6245']), ('/shuttle/countdown/', ['3985', '3985', '3985', '3985', '3985', '3985', '3985',
'-', '-', '-', '0', '3985', '4247', '3985', '3985', '3998', '0',
'3985', '3985', '3985', '3985', '4247', '3985', '3985', '398, '3985']), ('/', ['7074', '7074', '7074',
'7074', '7074', '7074', '7074', '7074', '7074', '7074', '70]), ('/images/dual-pad.gif', ['141308', '141308',
'0', '141308', '141308', '141308', '0', '141308', '0', '141308', '141308']),
('/images/NASA-logosmall.gif', ['0', '786', '786', '0', '786', '786', '786',
'786', '786', '786', '786', '786', '786', '786', '786', '0',
'786', '786', '786'])])
его основной URL-адрес и пропускная способность, связанные с конкретным URL-адресом, мне нужна сумма всех значений в списке, которые находятся в строке для определенного ключа, игнорируя дефис, который является одним из значений для ключа
desired output:
dict_items([('/history/apollo/', ['4996'], ('/', ['70810']), ('/images/dual-
pad.gif', ['113040']), ('/images/NASA-logosmall.gif', ['12576'])])
#Or total value for a key without string
#dict_items([(/history/apollo/, [4996], (/, [70810])(/images/dual-
pad.gif, [113040]), (/images/NASA-logosmall.gif, [12576])])
my code is
sums = {k: sum(i for i in v if isinstance(i, int)) for k, v in temp.items()}
это дает мне ошибку TypeError: неподдерживаемые типы операндов для +: 'int' и 'str', тогда я попробовал
sums = {k: sum(int(i) for i in v) for k, v in [temp.values()]}
тогда я попробовал
print({k:sum(map(int, [v])) for k, v in temp.items()})
не сработало
получение ошибки:
TypeError: expected string or bytes-like object
буду признателен за любую помощь
if isinstance(i, int)
. Однако в вашем списке есть только строки. - person pylang   schedule 22.03.2018