Как присвоить два значения переменной l oop - PullRequest
0 голосов
/ 05 августа 2020

как мы можем использовать для l oop, чтобы присвоить два значения из строки, как показано ниже

string="abcd"
for i in string:
      print(i)

, это даст мне одно значение из строки

#output
a
b
c
d

как можно Я беру два значения, такие как ab и cd. Я знаю, что мы можем сделать это в печати, но мне нужно присвоить два значения в «i». Мне нужен вывод

#output
ab
cd

Ответы [ 2 ]

3 голосов
/ 05 августа 2020

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

n = 2
s = "abcd"
res = [s[i:i+n] for i in range(0, len(s), n)]
print(res) # ['ab', 'cd']

Это применимо к любому n -ому месту.

Если это только 2 символа, которые вы должны также используйте регулярное выражение, но если оно для любого n неудобно, пример для n=2:

import re
s = "abcd"
res = re.findall('..?',s)
print(res) # ['ab', 'cd']
0 голосов
/ 05 августа 2020

Попробуйте следующее:

string = "abcd"
for i in range(1,len(string),2):
    print(string[i-1]+string[i])

Вывод:

ab
cd

Пояснение

Вы можете изменить функцию диапазона, чтобы она начиналась с индекса 1 и go полностью через len(string) с шагом 2 (range(1,len(string),2))

Затем внутри l oop, поскольку мы начинаем индекс 1, мы печатаем string[i-1] и объединяем его с string[i]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...