создание для цикла list.length

Я читаю о петлях прямо сейчас, и мне любопытно, если бы вы могли сделать цикл for в Python, как в Java

можно даже сделать что-то вроде

for (int i = 1; i < list.length; i++) 

и можете ли вы сделать еще один цикл в этом цикле? благодаря

5 Solutions collect form web for “создание для цикла list.length”

В Python вы можете выполнять итерацию по самому list :

 for item in my_list: #do something with item 

или для использования индексов вы можете использовать xrange() :

 for i in xrange(1,len(my_list)): #as indexes start at zero so you #may have to use xrange(len(my_list)) #do something here my_list[i] 

Есть еще одна встроенная функция, называемая enumerate() , которая возвращает как элемент, так и индекс:

 for index,item in enumerate(my_list): # do something here 

Примеры:

 In [117]: my_lis=list('foobar') In [118]: my_lis Out[118]: ['f', 'o', 'o', 'b', 'a', 'r'] In [119]: for item in my_lis: print item .....: f o o b a r In [120]: for i in xrange(len(my_lis)): print my_lis[i] .....: f o o b a r In [122]: for index,item in enumerate(my_lis): print index,'-->',item .....: 0 --> f 1 --> o 2 --> o 3 --> b 4 --> a 5 --> r 

Да, вы можете, с range [docs] :

 for i in range(1, len(l)): # i is an integer, you can access the list element with l[i] 

но если вы все равно получаете доступ к элементам списка, более естественно их перебирать напрямую:

 for element in l: # element refers to the element in the list, ie it is the same as l[i] 

Если вы хотите пропустить первый элемент, вы можете нарезать список [tutorial] :

 for element in l[1:]: # ... 

вы можете сделать еще один цикл внутри цикла for

Что вы можете.

Здесь вы можете узнать о петлях Python: http://en.wikibooks.org/wiki/Python_Programming/Loops

Вы должны знать, что у Python нет {и} для начала и конца цикла, вместо этого это зависит от символов вкладок, которые вы вводите в первой строке, я имею в виду отступы строки.

Таким образом, вы можете сделать цикл внутри цикла с двойной вкладкой (отступ)

Пример двойного цикла выглядит так:

 onetoten = range(1,11) tentotwenty = range(10,21) for count in onetoten: for count2 in tentotwenty print(count2) 

Ответ зависит от того, для чего вам нужен цикл.

конечно, вы можете иметь петлю, похожую на Java:

 for i in xrange(len(my_list)): 

но я никогда не использовал такие петли, как это,

потому что обычно вы хотите итерации

 for obj in my_list 

или если вам нужен индекс

 for index, obj in enumerate(my_list) 

или вы хотите создать другую коллекцию из списка

 map(some_func, my_list) [somefunc[x] for x in my_list] 

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

также, пожалуйста, посмотрите на встроенные функции, такие как any , max , min , all , enumerate

Я бы сказал – не пытайтесь писать Java-подобный код в python. Всегда есть питонический способ сделать это.

Я бы попытался найти решение google и строку Python для инструкции , это так просто. Первая ссылка говорит все. (Отличный форум, правда, но его использование, похоже, иногда напоминает использование Microsoft понимания всех преимуществ своих продуктов GUI: окна внутри, идиоты снаружи.)

  • Найти (и сохранить) дубликаты подписок в python
  • return vs print list
  • Получить размер целого числа в Python
  • Плавные значения с двойной точностью в Python?
  • Как сравнить список списков / наборов в python?
  • Python: & = оператор
  • Создание списков с циклами в Python
  • Python: удалить повторяющиеся кортежи из списка, если они точно совпадают, включая порядок элементов
  • Python - лучший язык программирования в мире.