【问题标题】:I need to add values to an existing list of lists (Python)我需要将值添加到现有列表列表(Python)
【发布时间】:2015-11-28 10:40:30
【问题描述】:
# list of lists (STEP 1)
list0 = ["a", "b", "c"], [d, e, f], [g, h, i], [h, i, j]

# input for new values (STEP 2)
k = input("Enter new value: ")
l = input("Enter new value: ")
m = input("Enter new value: ")

# add these values to " list0 " (STEP 3)
list0 += [k, l, m]

第 3 步不起作用,出现错误:

TypeError: can only concatenate tuple (not "list") to tuple

【问题讨论】:

    标签: python list tuples add


    【解决方案1】:

    你声明了一个元组,而不是一个列表。

    list0 = ["a", "b", "c"], [d, e, f], [g, h, i], [h, i, j]
    

    等于

    list0 = (["a", "b", "c"], [d, e, f], [g, h, i], [h, i, j])
    

    元组是不可变的。


    所以,请使用

    list0 = [["a", "b", "c"], [d, e, f], [g, h, i], [h, i, j]]
    

    改为。

    【讨论】:

      【解决方案2】:

      list0 被定义为一个元组(列表之间的逗号是这样定义的)

      list0 = ["a", "b", "c"], [d, e, f], [g, h, i], [h, i, j]
      

      一个选项可以简单地声明一个嵌套列表,例如:

      list0 = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i'], ['h', 'i', 'j']]
      

      然后你就可以了,

      k = input("Enter new value: ") # Entered 8
      l = input("Enter new value: ") # Entered 9
      m = input("Enter new value: ") # Entered 10
      

      最后追加:

      list0.append([k,l,m])
      
      print list0
      o/p: [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i'], ['h', 'i', 'j'], [8, 9, 10]]
      

      【讨论】:

        【解决方案3】:

        yuhe 回答了您的问题...但是这里有一个简短的建议。如果您想在列表中添加任何元素,请改用 append 函数。

        list.append(值)

        【讨论】:

          猜你喜欢
          • 2021-06-22
          • 1970-01-01
          • 1970-01-01
          • 2023-04-06
          • 2016-11-13
          • 1970-01-01
          • 1970-01-01
          • 2021-12-13
          相关资源
          最近更新 更多