我发现自己经常这样编写代码:
k = 0
for i in mylist:
# y[k] = some function of i
k += 1
相反,我可以做
for k in range(K):
# y[k] = some function of mylist[k]
但这似乎不是“
pythonic”。(您知道…建立索引。该死!)是否有某种语法可以让我使用循环,列表理解或生成器同时提取索引(k)和元素(i)?我认为,任务是在科学计算中进行的,因此循环体中有很多东西,列表理解本身可能不够强大。
我也欢迎有关概念的技巧,尽管我可能没有。谢谢。
您可以使用enumerate
:
for k,i in enumerate(mylist):
#do something with index k
#do something with element i
有关循环技术的更多信息。
编辑:
如注释中所指出,使用其他变量名称,例如
for i, item in enumerate(mylist):
从长远来看,使您更容易阅读和理解您的代码。通常,对于数字和有意义的变量名,应使用i
,来描述列表的元素。
也就是说,例如,如果您有书籍清单并对其进行遍历,则应将变量命名为。j``k
book
问题内容: 如果您在python中有一个列表,并且想要将索引1、2和5的元素提取到新列表中,您将如何做? 这是我的做法,但我并不十分满意: 有没有更好的办法? 更一般而言,给定一个索引元组,即使使用重复,您将如何使用该元组从列表中提取相应的元素(例如,元组产生)。 问题答案: 也许使用这个:
问题内容: 如何获得Python中索引名称的列表?这是我到目前为止的内容: 问题答案: 搜索有关使用库进行检索的信息时,会出现此问题。接受的答案说可以使用,但该方法已删除(截至2017年)。要获取,您可以使用以下代码:
问题内容: 返回以下内容的最紧凑的方法是什么: 给定一个元组列表,返回一个由元组的第一个(或第二个,无关紧要)元素组成的列表。 对于: 返回的列表将是 问题答案: 如果需要同时使用zip
如何在JavaFX的网格窗格中获取列索引和行索引。请参见下面的代码 当鼠标在text1上输入时,我想获取GridPane的列索引和行索引 请让我知道。
当我单击时,我尝试获取gridpane的行/列索引。 我在JTable(java swing)中寻找像getSelectedColumn()这样的方法 我搜索了这个。gridPane.getRowIndex(节点) 但这对我没有帮助。因为它需要节点名来获取行/列索引。 我通过语法制作了一个网格组件。所以节点名称是相同的。如何获取值?我的部分代码在下面。
问题内容: 是否可以获得与特定模式匹配的索引列表,例如 这是获取索引列表的方法: 但是我找不到过滤它们的方法,因此该列表仅包含匹配“ my_index_nr_1 ”的索引,其中“ ”是通配符 解 在使用ES一段时间后,这里是我现在使用的东西,希望它能对其他人有所帮助: 您也可以在末尾添加,以得到结果中每一列的标题。 问题答案: 使用_aliases命令有一个巧妙的技巧,当与通配符结合使用时(下面)