#python #list #tuples
#python #Список #Кортежи
Вопрос:
Я пытаюсь прочитать текстовый файл построчно и преобразовать каждую строку в кортеж. это мои данные текстового файла
даниал фелдрой — две ложки django
джеймс — python для всех
Мне нужно прочитать и преобразовать каждую строку в кортеж, подобный этому ("danial feldroy "," two scoops of django")
("james "," python for everyone")
и я должен добавить эти кортежи в список
nt = open('my_file.txt').readlines()
names_title = []
for book in nt:
a = book.replace('-',',')
convert_to_tuple = tuple(a)
print(a)
#but i have to remove the white spaces as well
Результат :
danial feldroy , two scoops of django
Я ожидаю этого
danial feldroy,two scoops of django
затем я хочу изменить каждую строку на кортеж
("danial feldroy","two scoops of django")
но всякий раз, когда я использую tuple()
, это работает не так, как я ожидал?
и вывод для кортежей
('d','a','n','i','a','l' etc ..
Я ожидал этого ("danial feldroy","two scoops of django")
!
Комментарии:
1.Вы печатаете строку, которая получается в результате замены
-
строки из файла на a,
. Вы никогда не печатаете кортеж. Вы никогда не добавляете кортеж в список. Вы используете неправильный способ создания кортежа — вы ищетеstr.split()
иstr.strip()
как отлаживать небольшие программы.2. да, я сделал это в своем ноутбуке jupyter, я хочу написать короткий вопрос, чтобы быть более читаемым
3. итак, как создать правильный кортеж для текста?
Ответ №1:
Вы пытались изменить то, что внутри цикла на :
nt = open('my_file.txt').readlines()
names_title = []
for book in nt:
data_tuple = (x.strip() for x in book.split('-'))
print(data_tuple)
Проблема в том, что вы пытаетесь преобразовать строки в кортежи, которые можно повторять и приводить каждый символ к определенному символу строки.
Вместо split()
этого вы разделите нужные части на некоторый символ
Комментарии:
1. спасибо, но как изменить кортеж каждой строки после запуска strip()
2. Это понимание кортежа, поэтому вы уже получаете его как кортеж …. это своего рода цикл for …
3. я проверил, тип — string с помощью type()