Как привести список в Python к следующему виду?

Дана строка:

'''User1| [email protected]| qwerty
User2| [email protected]| asdfg
User3| [email protected]| abcdef'''

Как привести ее к следующему виду?

Имя: User1
Почта: [email protected] 
Пароль: qwerty
Имя: User2
Почта: [email protected]
Пароль: asdfg
Имя: User3
Почта: [email protected]
Пароль: abcdef

Ответы (1 шт):

Автор решения: Sergey K.

В python есть метод, который разделяет строку 'str.split()'

Вот решение:

# Ваша строка с данными.
# Важно, чтобы каждая строка данных была на своей строке.
s = '''User1| [email protected]| qwerty
User2| [email protected]| asdfg
User3| [email protected]| abcdef'''

# В этот список будем складывать объекты с информацией
data = []
# s.splitlines() возвращает список строк данных, разбитый по символу переноса строки
# поэтому важно, чтобы инфо была на разных строчках
for line in s.splitlines():
  # метод split('|') разбивает строку на подстроки по символу |
  # Он возвращает tupple, поэтому мы можем присвоить 3м переменным значения, указав их через запятую
  name, mail, password = line.split('|')
  
  # добавляем в список объект с информацией, которую вытащили из строки
  data.append({'Имя': name, 'Почта': mail, 'Пароль': password})

введите сюда описание изображения

И вот так теперь с этими данными можно работать.

>>> data
[{'Имя': 'User1', 'Почта': ' [email protected]', 'Пароль': ' qwerty'}, {'Имя': 'User2', 'Почта': ' [email protected]', 'Пароль': ' asdfg'}, {'Имя': 'User3', 'Почта': ' [email protected]', 'Пароль': ' abcdef'}]
>>> data[0]
{'Имя': 'User1', 'Почта': ' [email protected]', 'Пароль': ' qwerty'}
>>> data[0]['Имя']
'User1'
>>> data[2]['Почта']
' [email protected]'
>>>

→ Ссылка