модификация проста: сначала вам нужно создать пустой список, в котором будет сохранен результат, затем в цикле for вам нужно проверить, выполнено ли условие, и добавить этот элемент в список, если он это сделал, и, наконец, вернуть этот список. Я также выбрать несколько более значимых переменных имена
def famous(data_tweet, lower, higher):
result=[]
for person, tweets in data_tweet.items():
if all(lower <= tw[2] <= higher for tw in tweets):
result.append(person)
return result
это может быть уменьшена немного с использованием listcomprehension
def famous(data_tweet, lower, higher):
return [person for person, tweets in data_tweet.items() if all(lower <= tw[2] <= higher for tw in tweets)]
(обратите внимание на сходство)
в любом случае результат
>>> famous(tweet,1470000000,1480000000)
['b', 'a']
>>>
Как не позволяют использовать all
, то это должно быть сделано старой школы стиль, который использует флаг, который является переменной, которая покажет нам, если условие выполнено или не
def famous(data_tweet, lower, higher):
result=[]
for person, tweets in data_tweet.items():
is_valid = True
for tw in tweets:
if not (lower <= tw[2] <= higher):
is_valid = False
break
if is_valid:
result.append(person)
return result
здесь сначала предположим, что условие выполнено, тогда мы проверяем, что это действительно так, и если мы не изменяем наш флаг на false и не прерываем этот цикл, поскольку больше нет причин продолжать дальнейшие проверки, что в основном является то, что all
do для тебя. Впоследствии, согласно значению флага, мы добавляем его в список или нет.
(Если вы не позволяют использовать break
либо, не волнуйтесь и просто удалить его, что не влияет на функцию)
о подсчете вещи
result=[]
for person in tweet:
count = 0
for tw in tweet[person]:
count += tw[4] + tw[5]
result.append(count)
и какой результат вы ожидали или хотите от своей функции? – Copperfield
@Copperfield поэтому, если дата находится между двумя датами, im goanna добавляет код, который видит, кто знаменит (добавив последние два номера), и распечатает список с людьми от самых больших до наименее известных – CAVS
... нормально, но это не отвечайте на мой вопрос, что должна делать эта функция? вернуть список с лицами, которые выполняют условие? – Copperfield