2015-03-24 1 views
0

У меня есть список, который изменяется внутри цикла for. Это пример одного из списков:Сумма списков, созданных для цикла, в которых есть процентные знаки?

lst = ['1.50%', '2.67%'] 

Я хочу, чтобы иметь возможность взять сумму этого списка и длину, так что я могу найти среднее. Я выполнил следующую операцию:

sum(lst)/len(lst) 

При печати я получаю сообщение об ошибке.

Мне интересно, могу ли я принять процент от каждого входа в списке, преобразовать его в целое число и выполнить предыдущую функцию еще раз, чтобы увидеть, работает ли она.

Как мне это сделать? Кроме того, если есть более простой способ, как мне следует продолжить такой шаг?

ответ

4

Вам нужно раздеться знак процента и конвертировать остаток плавать, так как вы не можете осмысленно просуммировать строки:

sum(float(v.rstrip('%')) for v in lst)/len(lst) 

Демо:

>>> lst = ['1.50%', '2.67%'] 
>>> sum(float(v.rstrip('%')) for v in lst)/len(lst) 
2.085 
0

попробовать этот код:

lst = ['1.50%', '2.67%'] 
lst2=[] 
for i in lst: 
    lst2.append(float(i[0:-1])) 
print(sum(lst2)/len(lst2)) 
Смежные вопросы