【问题标题】:Python: Remove every first element in a 2D-ListPython:删除二维列表中的每个第一个元素
【发布时间】:2022-09-23 15:55:51
【问题描述】:

我在 python 中有列表。例如测试=[[1,1],[1,2],[1,3],[1,4]]。 现在我想通过删除每个第一个数字来创建一个一维列表以获得这个:[1,2,3,4]。

我当前的代码工作得很好,但它绝对不是最 Pythonic 的代码。 谁能给我以下更好的代码?也许一个小小的解释会很棒,因为我想了解如何用好的 Pythonic 代码进行编程。 :)


i=len(Test)
b=[]
a=0
for x in range (100):
        Test[a].remove(Test[a][0])
        b+=Test[a]
        a+=1
print(b)

问候,多米尼克

  • 你为什么循环到100?这个价值是从哪里来的?

标签: python python-3.x list


【解决方案1】:

使用map,它将一个函数应用于每个元素。在您的情况下,提取内部列表的第一个元素的函数:

list(map(lambda x: x[1], Test))

【讨论】:

    【解决方案2】:

    使用列表推导:

    test = [[1, 1], [1, 2], [1, 3], [1, 4]]
    output = [x[1] for x in test]
    print(output)  # [1, 2, 3, 4]
    

    【讨论】:

      【解决方案3】:
      Test=[[1,1],[1,2],[1,3],[1,4]]
      Test2 = [i[1] for i in Test]
      

      【讨论】:

      • 请正确格式化您的代码。还添加一些解释
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 2015-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-18
      相关资源
      最近更新 更多