【问题标题】:How to change case in an element inside a sublist in python?如何更改python子列表中元素的大小写?
【发布时间】:2021-02-13 19:04:50
【问题描述】:

我是 Python 新手,我试图在包含混合元素的列表列表中更改大小写。我想用标题功能更改每个子列表中的第四个元素 列表是这样的:

records = [2011, 'FEMALE', 'HISPANIC', 'SOPHIA', 223, 3],  
 [2011, 'FEMALE', 'HISPANIC', 'SOPHIE', 12, 76],  
 [2011, 'FEMALE', 'HISPANIC', 'STACY', 10, 78],  
 [2011, 'FEMALE', 'HISPANIC', 'STELLA', 11, 77],  
.......

我想得到的结果是这样的:

records = [2011, 'FEMALE', 'HISPANIC', 'Sophia', 223, 3],  
 [2011, 'FEMALE', 'HISPANIC', 'Sophie', 12, 76],  
 [2011, 'FEMALE', 'HISPANIC', 'Stacy', 10, 78],  
 [2011, 'FEMALE', 'HISPANIC', 'Stella', 11, 77],  
.......

我试图这样做:

     `for row in range(records):`  
      `row[3].title()`
     

但我收到以下错误:

TypeError:“列表”对象不能解释为整数
如果有人可以帮助我,我将不胜感激。

【问题讨论】:

    标签: python-3.x list for-loop case sublist


    【解决方案1】:

    你快到了!

    考虑输入为:

    records = [[2011, 'FEMALE', 'HISPANIC', 'SOPHIA', 223, 3],  
    [2011, 'FEMALE', 'HISPANIC', 'SOPHIE', 12, 76],  
    [2011, 'FEMALE', 'HISPANIC', 'STACY', 10, 78],  
    [2011, 'FEMALE', 'HISPANIC', 'STELLA', 11, 77]]
    

    您可以这样遍历主列表:

    for row in records:
        row[3] = row[3].title()
    

    或者,您也可以索引 for 循环:

    for i in range(len(records)):
        records[i][3] = records[i][3].title()
    

    两者都产生以下结果:

    [[2011, 'FEMALE', 'HISPANIC', 'Sophia', 223, 3],
     [2011, 'FEMALE', 'HISPANIC', 'Sophie', 12, 76],
     [2011, 'FEMALE', 'HISPANIC', 'Stacy', 10, 78],
     [2011, 'FEMALE', 'HISPANIC', 'Stella', 11, 77]]
    

    【讨论】:

      猜你喜欢
      • 2012-02-25
      • 2020-12-06
      • 2015-01-02
      • 1970-01-01
      • 2011-02-13
      • 2019-03-20
      • 2014-01-03
      • 2019-01-25
      • 2017-09-15
      相关资源
      最近更新 更多