使用循环比较两个列表以查找匹配值

时间:2015-10-27 02:55:27

标签: python loops

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

我还有另外四个列表,pName,pType,pLat和pLong,但我现在还没有对它们做任何事情。

我需要按人口规模递增对这个城市列表进行排序,我基本上已经被告知要使用我目前所知的方式来做 - 这不是那么多。我已经尝试过使用元组和其他东西,但那些属于我没有被教过的东西。

我必须将sPop与pPop进行比较并使用我从中获取的信息来重新排序其他四个列表,因此我可以在.csv文件中将它们吐出来。

我明白了,我只是不确定执行情况。我我需要在所有sPop上运行一个循环,其中一个循环内部运行所有pPop,它检查sPop [x] = pPop [y],(x从0到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两次)然后使用

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

无法记下实际的代码,或者我可能会被剽窃检查程序搞砸。

2 个答案:

答案 0 :(得分:2)

获取索引:

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

答案 1 :(得分:2)

for x in range(len(sPop)):
    item = sPop[x]