2010-12-18 23 views
1

Я немного смущен относительно того, что оператор for/работает в python. Может ли кто-нибудь объяснить мне, как это работает?Python-for statements understanding

+10

http://docs.python.org/tutorial/controlflow.html#for-statements –

ответ

0

Ну, оператор for в Python выполняет итерацию по последовательности, которая может быть списком или строкой. Вы всегда перемещаете элементы по мере их появления в последовательности. Это отличается от языков, таких как PHP и C#, где вы можете управлять этим for(x = 0; x < y; x++).

Хотите узнать что-то еще? Если да, пожалуйста, уточните.

2

Если у вас есть последовательность, например. list:

l = [1,2,3] 

вы можете перемещаться по списку с помощью:

for i in l: 

и i всегда будет один элемент списка.

Find here information about sequences.

Есть функции, которые генерируют списки, например range. Так

for($i=0;i<10;$i++) 

в PHP переводится

for i in xrange(10): 

в Python.

for в Python похож на PHP foreach или улучшенный цикл Java for (... : ...).

4

Для циклов вы можете выразить повторяющееся действие.

Например, если мы хотим напечатать список мы могли бы сделать следующее:

mylist = ['apples', 'oranges', 'pears'] 

item = mylist[0] 
print item 

item = mylist[1] 
print item 

item = mylist[2] 
print item 

Это может быть выражено более кратко, следующим образом:

mylist = ['apples', 'oranges', 'pears'] 

for item in mylist: 
    print item 

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

В моем списке 3 объекта, поэтому цикл повторяется 3 раза.

На каждой итерации цикла (каждый раз, когда он повторяется) переменной «item» будет присвоено следующее значение в последовательности.

То есть:

1st iteration: item -> 'apples' 
2nd iteration: item -> 'oranges' 
3rd iteration: item -> 'pears' 
1

Как и многие умные люди говорили: Человеческие языки нечеткие, код - нет.Программисты должны сообщаться в коде:

Это то, что для заявления делает:

>>> for item in ['this', 'is', 'a', ('list', 'of'), 6, 'elements']: 
...  print "The item is:", item 
The item is: this 
The item is: is 
The item is: a 
The item is: ('list', 'of') 
The item is: 6 
The item is: elements 

Clearer сейчас?