【问题标题】:Iterating through and selecting nth element in multiple lists of lists - python 2遍历并选择多个列表列表中的第 n 个元素 - python 2
【发布时间】:2017-08-23 05:21:28
【问题描述】:

我有多个列表。我需要获取每个内部列表的第二个元素,并制作由这些第二个元素组成的多个新列表。

样本数据:

for item in list:
   x = fpp.table
   print x

[['hello', 'mum'],['goodbye', 'dad']]
[['3', '6', '9'], ['2', '4', '6']]

所以有了这些数据,我想把它变成以下两个列表:

['mum','dad']
['6','4']

【问题讨论】:

  • [x[1] for x in lst]?这些是单独的列表吗?

标签: python python-2.7 list loops


【解决方案1】:

接受的答案是正确的。然而,最 Pythonic (IMO) 的方法是(顺便说一句,您应该避免将变量命名为 list,因为这是 Python 中的一种类型)来使用列表推导:

[elt[1] for elt in my_list]

如果你只想在列表至少有两个元素时获取每个列表的第二个元素(否则前面的代码会崩溃),你可以在列表推导中添加一个条件:

[elt[1] for elt in my_list if len(elt) >= 2]

【讨论】:

    【解决方案2】:

    让我们试着做一个这样的函数:

    def secondElement(list):
        secondL = []
        for item in list:
            secondL.append(item[1])
        print (secondL)
    

    这应该可以从主列表中获取每个集成子列表的第二个元素。希望这就是你要找的!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-07
      • 1970-01-01
      • 2011-02-10
      • 2021-12-15
      • 1970-01-01
      • 2021-07-23
      • 2016-07-01
      • 2019-08-22
      相关资源
      最近更新 更多