2015-10-27 5 views
-1

Я нашел этот код на Python Twitter Tools (РТТ) Например:Пожалуйста, объясните, следующий код на Python для

query = twitter.friends.ids(screen_name = username) 
for n in range(0, len(query["ids"]), 100): 
    ids = query["ids"][n:n+100] 

https://github.com/ideoforms/python-twitter-examples/blob/master/twitter-friends.py

Что я понимаю, мне говорит о том, что функция диапазона на для функции работает примерно так: range (initial_value, end_value). Что означает третий аргумент?

Кроме того, по-видимому, запрос представляет собой строку, и он обращается к функции ids внутри функции друзей Twitter. Что мне не получается, что делает [n:n+100]? Я не получаю [] после ['ids'] (возможно, это dict()?) Или «:», что это за операнд?

Кроме того, мой вопрос выглядит довольно плохо, это мой первый пост. Простите, я поработаю над этим.

+1

Я бы начал здесь 'https: // docs.python.org/2/library/functions.html # range' и попытался найти как можно больше ответов, прежде чем задавать вопросы. – chuthan20

ответ

0

Дополнительным третьим аргументом range является шаг - в этом случае значения в диапазоне увеличиваются на 100 за каждую итерацию.

[:] синтаксис - это фрагмент. В этом случае, если query["ids"] является строкой, это строковый фрагмент или подстрока. См. Руководство по python по строкам здесь: https://docs.python.org/2/tutorial/introduction.html#strings

+0

'' string.get (string) '' приводит к TypeError (строковые индексы должны быть целыми, а не str). – pzp

+0

Да, но в исходном сообщении выражение 'query [" ids "]' возвращает строку, которая затем была нарезана - 'query' сам по себе не является строкой. – justinian

+0

Вы правы. Я неправильно понял ваш ответ; мои извинения. – pzp

0

Во-первых, третьи параметры в диапазоне - это то, что нужно увеличить, 100, 200, 300 и т. Д. Для получения подмножества используется [n: n + 100]. Начиная с n и перехода на n + 100, аналогично диапазону.

Смежные вопросы