python - 无法连接“str”和“list”对象(基本列表索引)
问题描述
我有一个程序询问用户他们有多少个名字,然后根据落入的类别(第一个、中间和最后一个)打印它们。
names = int(input("Number of names: "))
name_list = []
for i in range(names):
name_list.append(input("Name: "))
print "First name: " + name_list[0]
print "Middle names: " + name_list[0:len(name_list) - 1]
print "Last name: " + name_list[-1]
但是我得到一个 TypeError: cannot concatenate str
and list
objects on line 9 我不太确定为什么。我寻找错误,但我只发现了更复杂的程序,我并没有真正得到解释
解决方案
嗯,这是因为你不能连接str
和list
对象。
name_list=["First_name", "Middle_name1", "Middle_name2", "last_name"]
print "First name: " + name_list[0] # First name: First_name
print "Middle names: " + ' '.join(name_list[1:-1]) # Middle names: Middle_name1 Middle_name2
print "Last name: " + name_list[-1] # Last name: last_name
推荐阅读
- java - ShakeService.java 通过意图调用后不打印日志消息
- airflow - 如何在正常功能中获取 xcom 值或如何使用 pubsubOperator
- php - 在 PHP 中合并多维数组
- laravel - 是否可以在 laravel 中为前端和后端提供两个单独的中间件?
- jquery - 在 ajax 调用中检查 JsonResult 是 true 还是 false
- php - 为什么只有当用户第一次访问该站点时,会话值才会发生变化
- excel - 是否可以编辑(可见)但当前未激活的工作表中的单元格?
- android - 音乐播放器卡住部分唤醒锁(背景)
- command-line-interface - IBM Cloud CLI Softlayer 插件:如何通过过滤器?
- math - 如何将物体的面投影到平面上?