Как присваивать переменным значения, состоящие из нескольких строк?
Функция input() позволяет присвоить значение переменной из одной строки, а как добавлять значения в переменную через input которые состоят из множества строк?
Например мне нужно сравнить между собой 2 массива данных:
купить слона
купить синего слона
цены на слонов
...
и таких строк сотни
и
слоны в рассрочку
слоны дисконт
слоны оптом
...
и таких тоже сотни
как быстро сформировать 2 списка из этих значений, чтобы получить на выходе:
a = ['купить слона', 'купить синего слона', 'цены на слонов', ... ]
b = ['слоны в рассрочку', 'слоны дисконт', 'слоны оптом', ... ]
Дополнено:
Файл с массивами данных в формате txt, по одному значению на строчке, разделены переводом строки (без запятых).
Ответы (3 шт):
Возможно я не совсем понял, но как то так:
result = []
count = 0
while count < 100:
a = input('Введите строку: ')
result.append(a)
count +=1
print(result)
Эта функция позволит взять файл и получить из него массив по разделителю:
def SplitFIle(filelink, razdelitel):
file = open(filelink, 'r') #откроем файл на чтение
text = file.read() #возьмем от туда текст
file.close #закроем файл
text = text.split(razdelitel) #разобьем по разделителю
return (text) #вернем массив данных
list1 = SplitFIle('somefile.txt', '\n') #указали ссылку на файл и разделителель (в данном случае - перенос строки)
print(list1)
lines = []
while True:
line = input()
if line:
lines.append(line)
else:
break
print(lines)
Таким образом вы сможете записывать строки в list, пока они не кончатся.
Если количество строк неизвестно, то можно сделать вот так:
import sys
array = sys.stdin.read().split("\n")
Учитывайте что для завершения ввода нужно будет отправить EOF(Ctrl + D в большинстве случаев)