【问题标题】:Appending to List Eror [duplicate]附加到列表错误 [重复]
【发布时间】:2019-06-25 02:48:26
【问题描述】:

我是 Python 新手,正在努力使用将新值加入列表然后将其添加到列表列表的语法。 loc_reffrom_loc 都是预先存在的列表,user_says 是使用 user_says = input("Enter Data") 的用户输入字段

print(loc_ref,"\n")  #returns [['COMPANY|ADDRESS|CITY|STATE|LOCATION']] 
print(from_loc,"\n") #returns ['COMPANY A', '1515 STREET RD', 'CITYA', 'ST'] 
print([user_says])
loc_ref = loc_ref.append(from_loc + [user_says]) 
print(loc_ref)  #returns None 

为什么 loc_ref 返回 None

【问题讨论】:

    标签: python nested-lists


    【解决方案1】:

    您将loc_ref 的值设置为None

    loc_ref = loc_ref.append(from_loc + [user_says])

    list.append不返回带有附加值的列表,它返回None,因此loc_ref被设置为None

    尝试一下: loc_ref.append(from_loc + [user_says]) 并摆脱 loc_ref =

    【讨论】:

      【解决方案2】:

      这是因为append 方法返回None。听起来怪怪的?这是因为它可以工作 in-place 并更改列表 loc_ref,但将始终返回 None

      您只需将您的行改为:

      loc_ref.append(from_loc + [user_says])
      

      原始列表将只是在最后一个位置包含附加值。

      阅读更多关于它的信息here:

      append() 方法将单个项目添加到现有列表中。它不返回新列表;而是修改原始列表。

      【讨论】:

        【解决方案3】:

        https://www.programiz.com/python-programming/methods/list/append

        如前所述,append() 方法仅修改原始列表。它不返回任何值。

        append() 是一个不返回任何内容的方法,只需执行loc_ref.append(from_loc + [user_says]) 就足够了

        【讨论】:

          猜你喜欢
          • 2015-08-05
          • 1970-01-01
          • 2021-04-23
          • 2015-05-30
          • 2023-04-04
          • 2013-08-15
          • 2019-02-12
          • 2013-06-18
          • 1970-01-01
          相关资源
          最近更新 更多