TypeError: must be str, not list报错的原因求教

name_dinner=['aa','bb','cc','dd']
print(name_dinner)
print(name_dinner.pop()+' is unavailable')
name_dinner.append('ee')
print(name_dinner)
name_dinner.insert(2,'ff')
print(name_dinner)
message='i am sorry for that the dinner will be on tonight can only have two men here'
print(message)
new_namelist1=name_dinner.pop()
new_namelist2=name_dinner.pop()
new_namelist3=name_dinner.pop()
message2='bye'+new_namelist1+" and"+new_namelist2+" and"+new_namelist3
print(message2)
message3= "welcome tonight's dinner " + name_dinner+ "."
print(message3)
系统对倒数第二行报错TypeError: must be str, not list,请问原因是什么,另外如何打印整个列表时不带[]

阅读 8.6k
1 个回答

name_dinner是一个列表, 你倒数第二行的操作是一个字符串的操作, 如果使用列表默认的字符串化操作可以使用
name_dinner.__str__()

要打印列表不带[], 可以通过迭代方法:
for i in name_dinner:

print(i, end=', ')

如果列表存储的是字符串, 可以使用join方法:
','.join(name_dinner)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题