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

做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条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog