Gmaster_0 2019-08-22 18:33 采纳率: 100%
浏览 270
已采纳

做python练习题遇到了几个小问题,希望得到各位的帮助

favorite_places = {
'xiaowang' : ['a1'],
'xiaoli' : ['a1','b2','c3'],
'xiaozhang' : ['c3','d4']
}
for names ,places in favorite_places.items() :

print(len(places))

##为什么xiaowang的len(places)是2?????
##是因为a1有两个字符吗?那么怎么把a1当作一个字符呢?
##通过给a1加上[],使得a1变成列表可以解决这个问题,还有别的办法吗?
if len(places) > 1 :
print(names.title() + "'s favorite places are : \n")
for place in places :

print('-' + place)
elif len(places) == 1 :
print(names.title() + "'s favorite places is : \n")
print('-' , places)
##如果是('-'+places)就会出现:
##TypeError: can only concatenate str (not "list") to str
##改成('-' , places)错误解决,还有别的解决办法吗?
##怎么能去掉输出结果['a1']的方括号呢?

问题都标记在注释中了,初学编程希望能得到各位的帮助,谢谢大家

  • 写回答

2条回答 默认 最新

  • 傲慢程序员 2019-08-27 15:40
    关注

    你提的这几个问题,都是初学者容易遇到的,
    请注意,尊重并且记住python的主要数据类型
    字符串和list是不同的数据类型,所以它们作为len的参数时有不同的表现
    它们在+运算符上也有不同的表现
    在print的输出格式上也有不同的表现

    类似“怎么把a1当作一个字符”这种,并不应该是python语言的“问题”
    len('a1') ==> 2
    len(['a1']) ==> 1

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 Android STD快速启动
  • ¥15 如何使用simulink建立一个永磁同步直线电机模型?
  • ¥30 天体光谱图的的绘制并得到星表
  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动