Как получить среднее значение каждого индекса в списке и взять те, которые больше среднего? - PullRequest
1 голос
/ 07 февраля 2020

У меня есть этот список с именем hello:

['Apple is one of the most healthy fruits ever - it grows in many countries',
 'Jenny likes strawberry',
 'He had an accident in New York Downtown',
 'One of the safest cities is the city Tokyo in Japan',
 'Some drugs are better than others',
 'Ice-cream is famous, Italian ice-cream is the most famous',
 'German cars are known to be the best cars']

Я хочу получить усредненные символы этих предложений и вывести предложения, которые длиннее среднего. Как мне это сделать?

Ответы [ 3 ]

3 голосов
/ 07 февраля 2020

Вы можете использовать sum() и составить список для этого

avg_len = sum(len(str) for str in strings) / len(strings)
filtered = [str for str in strings if len(str) >= avg_len]

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

1 голос
/ 07 февраля 2020

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

average = sum([len(x) for x in sentences])/len(sentences)

Затем вы можете перебрать список и удалить предложения сверх этого лимита

sentences = [sentence for sentence in sentences if len(sentence) > average]
0 голосов
/ 07 февраля 2020

Попробуйте создать новый список только тех предложений, длина которых превышает среднюю длину предложения в исходном списке

new_sentence_list = []
for i in original_sentence_list:
   if len(i) > mean(len(i) for i in original_sentence_list):
     new_sentence_list.append(i)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...