列表中的输出将所有内容变成单个字符串

时间:2019-02-09 21:38:51

标签: python jupyter-notebook

我正在尝试向新列表中插入内容,并获得如下输出:     车辆是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 :(得分:2)

如果要在输出中包含元素list的{​​{1}},则可以执行以下操作:

vehicle is 7 letters

输出

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

答案 1 :(得分:1)

您可以使用string formatting获得更干净的解决方案:

对于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'

答案 2 :(得分:0)

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

尝试将Textfl对象用作字符串。