鱼C论坛

 找回密码
 立即注册
查看: 11097|回复: 4

列表的title()如何使用

[复制链接]
发表于 2019-9-21 22:53:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
favorite_languages={
    'jen':['C','R'],
    'sarah':['perl'],
    'ben':['python','go'],
    'phil':['shell'],
    }
for name,languages in favorite_languages.items():
   
    if (len(languages))>1:
        print('\n'+name.title()+"'s favorite language are ; ")
        for lg in languages:
            print('\t' + lg.title())
    else:
        print('\n'+name.title()+"'s favorite language is ; ")
   
        print('\t'+ str(languages[0]))

得到的结果是
Jen's favorite language are ;
        C
        R

Ben's favorite language are ;
        Python
        Go

Sarah's favorite language is ;
        perl

Phil's favorite language is ;
        shell


当代码改为:
favorite_languages={
    'jen':['C','R'],
    'sarah':['perl'],
    'ben':['python','go'],
    'phil':['shell'],
    }
for name,languages in favorite_languages.items():
   
    if (len(languages))>1:
        print('\n'+name.title()+"'s favorite language are ; ")
        for lg in languages:
            print('\t' + lg.title())
    else:
        print('\n'+name.title()+"'s favorite language is ; ")
   
        print('\t'+ language.title())      #修改的部分

问题在于:
第一个if后面    print('\t' + lg.title())   可以正常输出结果
  而 else:  后面print('\t'+ language.title())      

就报错说      print('\t'+ languages.title())
AttributeError: 'list' object has no attribute 'title'

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-9-21 23:01:24 | 显示全部楼层

回帖奖励 +1 鱼币

lg是字符串有title方法。
languages是列表没有title方法。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-21 23:04:20 | 显示全部楼层

回帖奖励 +1 鱼币

本帖最后由 jackz007 于 2019-9-22 00:49 编辑
  1. favorite_languages = {
  2.     'jen':['C','R'],
  3.     'sarah':['perl'],
  4.     'ben':['python','go'],
  5.     'phil':['shell'],
  6. }

  7. for name , languages in favorite_languages . items():
  8.     if (len(languages)) > 1:
  9.         print('\n' + name . title() + "'s favorite language are ; ")
  10.         for lg in languages:
  11.             print('\t' + lg.title())
  12.     else:
  13.         print('\n' + name . title() + "'s favorite language is ; ")
  14.         print('\t'+ languages[0] . title())  # 【修改】: languages 是只有一个元素的列表,仍然需要通过切片操作才能索引到字符串
复制代码


        print('\t'+ languages[0] . title())
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-22 07:50:57 | 显示全部楼层

回帖奖励 +1 鱼币

列表没有 title 方法,而字符串有 title 方法。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-22 09:24:51 | 显示全部楼层
jackz007 发表于 2019-9-21 23:04
print('\t'+ languages[0] . title())

好的,谢谢,理解了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-19 12:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表