【问题标题】:Using loops to compare two lists to find matching values使用循环比较两个列表以查找匹配值
【发布时间】:2015-10-27 11:35:34
【问题描述】:

我有两个列表,pPop 和 sPop。 sPop 是按数字升序排序后的 pPop(它们是城镇/城市的人口)。

我还有其他四个列表,pName、pType、pLat 和 pLong,但目前我并没有真正对它们做任何事情。

我需要按人口规模递增来对这个城市列表进行排序,而且我基本上被告知要使用我目前所知道的来做这件事——这并不多。我已经尝试过使用元组和其他东西,但这些都属于我没有学过的东西。

我必须将 sPop 与 pPop 进行比较,并使用从中获得的信息对其他四个列表进行重新排序,以便将它们输出到 .csv 文件中。

我明白了,我只是不确定执行情况。我认为我需要在所有 sPop 上运行一个循环,其中一个循环在所有 pPop 上运行,它检查 sPop[x] = pPop[y], (x from 0 to len( sPop)) 当它是真的时给出某种肯定的回应。如果为真,则设置 pVar[y] 等于 sVar[x]。

写出来之后看起来还不错,我只是不完全确定如何在 python 中循环每个索引。当我这样做时,说,

for x in sPop

这是

x = sPop[i] i=range(0:len(sPop))

当我希望 x 引用索引本身时,而不是该索引处的数组/列表的值。

短版:使用

循环遍历数组中的索引

对于数组中的 x

其中 x 指的是索引。怎么做?如果不能,在循环中引用索引的最佳方法是什么?已经很晚了,几天前我花了大约六个小时试图用不同的方法解决这个问题,我的大脑被这个问题煎炸了。

编辑:

好的,知道了。对于任何好奇的人(也许有人会在五年内偶然发现这个),你循环遍历 sPop,然后遍历 pPop,(使用 对于 indexX, varX in enumerate(list) 两次)然后使用

if varX ==varY
sortedList.append(initialList[varY])

不能写下实际代码,否则我可能会被抄袭检查器打一顿。

【问题讨论】:

    标签: python loops


    【解决方案1】:

    获取索引:

    for index, x in enumerate(sPop):
        print index, x
    

    【讨论】:

    • 可能还没有人教过enumerate
    • 我没有,但我会没事的。你实际上可以使用我们没有学过的东西,我只是指定了这些参数,这样人们就不会问我为什么不使用元组或其他东西——它们比枚举更令人恼火。跨度>
    • @Spectre1235, index, x 实际上是一个元组 :) 如果不遇到元组,在 Python 中很难做很多有趣的事情。
    【解决方案2】:
    for x in range(len(sPop)):
        item = sPop[x]
    

    【讨论】:

      猜你喜欢
      • 2012-03-27
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-29
      • 1970-01-01
      相关资源
      最近更新 更多