Как разложить результат из цикла по переменным?
Получаю из фрейма строку раскладываю на массив в цикле получаю отдельные слова. Не могу понять как разложит результат по разным переменным?
for indx in data.index:# получаю из фрейма строку
s = data.at[indx,1]
for s in fio.split(): # раскладываем полученную строку на массив
print(s)
Результат
Тестов
Тест
Тестович
Ответы (2 шт):
Автор решения: insolor
→ Ссылка
Если количество частей не определено (не три слова, например), то не используйте отдельные переменные, используйте список:
words = fio.split()
Если ровно три слова, то цикл не нужен:
a, b, c = fio.split()
Автор решения: SergFSM
→ Ссылка
в дополнение к предыдущему ответу. на случай если в строке может оказаться больше чем 3 слова, можно подстраховаться таким образом:
fio = "Иван Иванович Иванов Старший"
a, b, c, *others = fio.split()
print(f'{a=}, {b=}, {c=}, {others=}')
# a='Иван', b='Иванович', c='Иванов', others=['Старший']
либо указать параметр maxsplit:
a, b, c = fio.split(maxsplit=2)
print(f'{a=}, {b=}, {c=}')
# a='Иван', b='Иванович', c='Иванов Старший'