Как я могу печатать символ A/B попеременно в цикле питона?Символ цикла A/B поочередно
Что ожидать в результате:
oneA
twoB
threeA
fourB
...
Как я могу печатать символ A/B попеременно в цикле питона?Символ цикла A/B поочередно
Что ожидать в результате:
oneA
twoB
threeA
fourB
...
Вы можете использовать itertools.cycle
повторить через последовательность. Обычно это используется с zip
для повторения более длинного списка, повторяя более короткий. Например
import itertools
for i,j in zip(['one', 'two', 'three', 'four'], itertools.cycle('AB')):
print(i+j)
Выход
oneA
twoB
threeA
fourB
Я использовал ваше решение. http://codereview.stackexchange.com/questions/139931/generate-sql-query-by-loop вы можете увидеть весь код – user3041764
Вы также можете попробовать с помощью оператора модуля% по индексу увеличивающегося цикл для чисел чередовать буквы:
list_num = ['one', 'two', 'three', 'four', 'five', 'six']
list_alpha = ['A', 'B']
list_combined = []
for i in range(0, len(list_num)):
list_combined.append(list_num[i] + (list_alpha[1] if i % 2 else list_alpha[0]))
list_combined
>>> ['oneA', 'twoB', 'threeA', 'fourB', 'fiveA', 'sixB']
Ьгу это:
l1 = ['A','B']
l2 = ['one','two','three','four']
for i,val in enumerate(l2):
print(val + l1[i%len(l1)])
Что-то вроде:
alternate_words = ['A', 'B']
count = 0
while count < 5:
print count+1, alternate_words[count % len(alternate_words)]
count += 1
Выход:
1 А
2 B
3 А
4 B
5 А
Я считаю это поможет ->
a1 = ['A','B']
a2 = ['one','two','three','four']
for i in range(len(a2)):
print a2[i]+a1[i%2]
По предложению @Graipher вместо использования в сочетание с zip()
itertools.cycle()
, лучше и более простым решением будет использовать itertools.product()
который
декартово произведение входных итерируемые.
Грубо эквивалент вложенных петель в выражении генератора. Например, произведение (A, B) возвращает то же самое, что ((x, y) для x в A для y в B).
https://docs.python.org/2/library/itertools.html#itertools.product
words = ['one', 'two', 'three']
for word, i in itertools.product(words, ('A', 'B')):
print(word+i)
вплоть до которой значение? если это всего лишь пара, вы можете ввести «один», «два» и т. д., иначе мы должны разработать лучший план. –