如何修复TypeError:只能将str(而不是“ list”)连接到str

时间:2019-05-26 11:42:59

标签: python typeerror

我正在尝试从python崩溃课程中学习python,但是这一任务使我很困惑,我在任何地方都找不到答案

任务是 考虑一下您最喜欢的交通方式,并列出包含几个示例的列表 使用您的列表来打印有关这些项目的一系列声明

cars = ['rav4'], ['td5'], ['yaris'], ['land rover tdi'] 

print("I like the "+cars[0]+" ...")

我认为这是因为我同时拥有字母和数字,但是我不知道如何得出没有错误的结果,将不胜感激地获得帮助 我得到的错误是

  

TypeError:只能将str(而不是“ list”)连接到str **

6 个答案:

答案 0 :(得分:3)

new_dinner = ['ali','zeshan','raza']
print ('this is old friend', new_dinner)

使用逗号,代替加+

如果在+语句中使用加号print ('this is old friend' + new_dinner),则会出错。

答案 1 :(得分:0)

您的第一行实际上产生了一个列表元组,因此cars[0]是一个列表。

如果打印cars,您会看到它像这样:

(['rav4'], ['td5'], ['yaris'], ['land rover tdi'])

摆脱它们之间的所有方括号,您将有一个可以索引到的列表。

答案 2 :(得分:0)

这是可以用来获得所需结果的一种可能性。 它学习如何导入,使用format方法以及将数据类型存储在变量中,以及如何将不同的数据类型转换为字符串数据类型! 但是,您要做的主要事情是将列表或所需的索引转换为字符串。通过使用str(----)函数。但是问题在于您已经创建了4个列表,您应该只有一个!

from pprint import pprint
cars = ['rav4'], ['td5'], ['yaris'], ['land rover tdi']
Word = str(cars[0])
pprint("I like the {0} ...".format(Word))

答案 3 :(得分:0)

首先,创建一个字符串列表(而不是列表的元组),然后可以访问列表的第一个元素(字符串)。

cars = ['rav4', 'td5', 'yaris', 'land rover tdi']
print("I like the "+cars[0]+" ...")

上面的代码输出:I like the rav4 ...

答案 4 :(得分:0)

你可以喜欢

new_dinner = ['ali','zeshan','raza']
print ('this is old friend', *new_dinner)

答案 5 :(得分:0)

这就是答案:

cars = (['rav4'], ['td5'], ['yaris'], ['land rover tdi']) 

print("I like the "+cars[0][0]+" ...")

我们在这里所做的是先调用列表,然后调用列表中的第一项。 由于您将数据存储在元组中,这就是您的解决方案。