2013-09-25 3 views
4

Мне было интересно, есть ли какие-либо команды для автоматического выбора следующего элемента в кортеже без необходимости его ввода?Команда для выбора следующего кортежа в списке

например.

nul = 0 

noofvalue = 5 

value = ['a', 'b', 'c', 'd', 'e'] 

for nul < noofvalue: 

file.write(value[0]) 

, что команда может я использовать здесь, чтобы добавить 1 к «значение» таким образом, что, когда файл петли, вместо использования значения [0], он использует значение [1], а?

nul = nul + 1 

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

+0

'для NUL TerryA

+1

Значение в вашем примере список. Не кортеж. Это был бы кортеж, если бы он был заключен в '()' 's, а не' [] '. – RyPeck

ответ

3

Я думаю, что вы хотите, это enumerate(). Я добавлю свой собственный пример, так как ваш пример немного странно:

>>> L = ['a', 'b', 'c', 'd', 'e'] 
>>> for index, value in enumerate(L): 
...  try: 
...   print L[index+1] # Prints the next item in the list 
...  except IndexError: 
...   print 'End of the list!' 
... 
b 
c 
d 
e 
End of the list! 
+0

Можем ли мы использовать исключение 'StopIteration:' для печати последнего сообщения и списка печати из '' a''? –

+0

Спасибо! его не совсем то, что я хотел, но я искал код L [index + 1]. Спасибо всем! – Aesreal

0

Первый не tuple, это list. В Python для итерации в цикл можно просто нравится:

for v in value: 
print v # file.write(v) 

(я думаю, что у вас есть C фон, где мы должны индекс для доступа к элементам и перебрать массивы).

, если хочет индекс также затем использовать Используйте `enumerate(any_sequence) функцию, возвращающих (индекс, значение) пар в списке,

>>> list(enumerate(value)) 
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e')] 

так что вы могли бы сделать так:

for i, v in enumerate(value): 
    print i, v 

конечно, если вы хотите для использования индекса явно делать:

index = 0 
for v in value: 
print index, v 
index += 1 

но это не Pythonic, так что не предпочитайте способный в жанре.

+0

Спасибо за всесторонний ответ! я буду иметь в виду и избегать этого способа кодирования в Python в будущем – Aesreal

+0

@Aesreal ваш прием. –

1

В Python, вы можете перебрать список или кортеж таким же образом:

for x in value: 
    do_something(x) 
Смежные вопросы