Вывод в списки превращает все в отдельные строки - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь вставить что-то в новый список и получить вывод, который говорит: транспортное средство - 7 букв

fl=['vehicle','person']
Textfl=[]     
Textfl.extend(str(fl[0])+ "is " +str(len(fl[0]))+ "letters")
print(Textfl)

В итоге возвращается:

['v', 'e', 'h', 'i', 'c', 'l', 'e', 'i', 's' ' ', '7', 'l', 'e', 't', 't', 'e', 'r', 's']

Требуемый вывод:vehicle is 7 letters

Ответы [ 3 ]

0 голосов
/ 10 февраля 2019

Вы можете использовать форматирование строки для более чистого решения:

Для Python 3,6 +

s = 'vehicle'
output = f'{s} is {len(s)} letters'
# 'vehicle is 7 letters'

Для более старых версий используйте:

output = '{} is {} letters'.format(s,len(s))
# 'vehicle is 7 letters'

Проблема с вашим решением состоит в том, что вы делаете результат списком, когда ожидаемый результат на самом деле является строкой.Следующего будет достаточно:

str(fl[0]) + " is " + str(len(fl[0]))+ " letters"
# 'vehicle is 7 letters'
0 голосов
/ 10 февраля 2019

Если вы хотите list в выводе, содержащем элемент vehicle is 7 letters, тогда вы можете сделать что-то вроде этого:

fl=['vehicle','person']
Textfl=[]     
Textfl.append(str(fl[0])+" "+"is " +str(len(fl[0]))+" "+"letters")
print(Textfl)

output

['vehicle is 7 letters']
0 голосов
/ 10 февраля 2019
fl = ['vehicle', 'person']
Textfl = str()
Textfl = fl[0]+ " is " + str(len(fl[0])) + " letters"
print(Textfl)

Попробуйте использовать объект Textfl в качестве строки.

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