Python,使变量等于数组的第二列

2024-09-30 01:34:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我意识到这是一个很有可能在其他地方被问到的,但说实话,我不确定我应该用什么术语来搜索它。 但基本上我有一个包含不同数量元素的列表。每个元素包含3个值:一个字符串、另一个列表和一个整数,例如:

First element = ('A', [], 0)

所以

ListofElements[0] = [('A', [], 0)]

我要做的是做一个新的列表,它包含了所有的整数(元素中的第三件事)在listofements中给出。在

我已经可以通过单步执行ListofElements的每个元素,然后将整数追加到如下所示的新列表中:

NewList=[]
for element in ListofElements:
    NewList.append(element[2])

但是使用for循环似乎是最基本的方法,有没有一种方法可以使用更少的代码?可能是列表理解之类的。这似乎是一件可以在一条线上完成的事情。在


这只是我最终目标的一个步骤,即找出listofements中具有最小整数值的元素的索引。到目前为止,我的过程是创建一个新列表,然后使用以下方法找到新列表的整数索引:

^{pr2}$

有没有一种方法可以避免完全生成新列表,而直接从原始元素列表生成索引?我被困在这里需要填写的内容,或者我将如何迭代:

min(ListofElements[?][2])

Tags: 方法字符串元素列表for数量地方整数
2条回答

您可以使用列表连接:

[x[2] for x in ListOfElements]

这通常被认为是一种“Python式”的方法。在

您还可以通过以下方式以相当时尚的方式找到最小值:

^{pr2}$

一些一般注意事项:

  1. 在python中,使用下划线是标准的,而不是CamelCase。在
  2. 在python中,几乎不必使用显式for循环。相反,更喜欢 共同理解或功能模式(mapapply等)

您可以使用^{}将列表map

>>> from operator import itemgetter
>>> l = [(1, 2, 3), (1, 2, 3), (1, 2, 3), (1, 2, 3), (1, 2, 3)]
>>> map(itemgetter(2), l)
[3, 3, 3, 3, 3]

然后你可以用你的方法找到最小值的位置。在

相关问题 更多 >

    热门问题