2015-06-11 2 views
2

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

1 Item 
1 Item 
2 Item 
2 Item 
3 Item 
3 Item 
+0

предоставить желаемый результат – The6thSense

+2

Это забавная математическая проблема. Вам просто нужно найти функцию 'f', которая делает' для idx, элемент в перечислении (seq): print f (idx), element' распечатывает нужные вам числа. Таким образом, задача состоит в том, как вы сопоставляете «0,1,2,3,4,5' с« 1,1,2,2,3,3'? Подсказка: деление задействовано. – Kevin

ответ

1
items = ['Item'] * 6 
for i, item in enumerate(items, start=1): 
    number = (i + 1)/2 
    print('{} {}'.format(number, item)) 
0
for i, item in enumerate(items): 
    print i, item 
    print i, item 
+0

Непонятно, из его желаемого результата, но я думаю, что OP хочет напечатать каждый элемент списка ровно один раз. так что это будет «1 item1 \ n 1 item2 \ n 2 item3 \ n 2 item4 \ n 3 item5» и т. д. – Kevin

+0

'перечисление (items, 1)' – Ajay

+0

Извинения, я отредактировал ваш ответ по ошибке. –

1

Если я правильно понял ваш вопрос, вы хотите использовать enumerate

Из документов:

Перечислим (последовательность, начало = 0)

Верните объект перечисления. последовательность должна быть последовательностью, итератором или другим объектом, который поддерживает итерацию. Следующий метод() итератор, возвращаемый Перечислят() возвращает кортеж, содержащее количество (от начала, который по умолчанию 0) и значение, полученное из переборе ... https://docs.python.org/2/library/functions.html#enumerate

Пример код:

items = ['item1', 'item2', 'item3'] 

for idx, item in enumerate(items): 
    print idx, item 
    print idx, item 

выход Будет следующий вывод: (. Если вы хотите сказать, что вы только хотите, чтобы они появлялись один раз, опустить одну из утверждений печати)

0 item1 
0 item1 
1 item2 
1 item2 
2 item3 
2 item3 
[Finished in 0.1s] 

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