Как получить общую длину всех значений словаря (строки) - PullRequest
1 голос
/ 26 марта 2020

Скажем, у меня есть словарь, который содержит несколько строк:

d = {'seq1':'AGG', 'seq2':'GCCG', 'seq3':'', 'seq4':'TTAAA'}

Каков наилучший способ получить сумму всех длин из ценности? В этом примере общая длина равна 3 + 4 + 0 + 5, поэтому я хочу, чтобы вывод был 12.

Возможно ли это сделать без использования циклов?

Ответы [ 3 ]

6 голосов
/ 26 марта 2020

Вы можете использовать сумму понимания:

sum((len(v) for v in d.values()))
1 голос
/ 26 марта 2020

L oop над словарем и получить значение длины каждого значения в словаре

totalStringLength = 0
for item in d.values():
    totalStringLength += len(item)
1 голос
/ 26 марта 2020

Это один подход, использующий sum с map

Пример:

d = {'seq1':'AGG', 'seq2':'GCCG', 'seq3':'', 'seq4':'TTAAA'}
print(sum(map(len, d.values())))    # -->12
...