从具有另一个列表索引值的列表中打印项目?

时间:2019-10-30 16:33:30

标签: python python-3.x list

我有两个清单,一个列出目的地,一个列出要前往所述地点的费用。

例如,如果用户选择localhost:271017,则将显示所有花费"7500"的地点。正如您在下面的代码中看到的,"7500"被重复了两次,因此我需要两个具有该价格的目的地。

我已经有了找到所需点的代码,但是我不知道如何继续打印这些点所在的目的地。

"7500"

例如,对于输出,我想要类似的东西:

destinations = ["Toronto", "Winnipeg", "London", "Ottawa","Miami", "Edmonton"] pointCosts = [7500, 9000, 11000, 7500, 9500, 9000] def CheapPoint (pointCosts): lowest = [0] for x in pointCosts: if x < lowest: lowest = x Points: 7500 City: Toronto

到目前为止,我只获得积分,但我也想获得目的地,也无法使用任何内置函数。

谢谢

3 个答案:

答案 0 :(得分:2)

df.head()
        col1 col2   col3
    0   1    741    Nan
    1   2    332    2
    2   7    7      74
    4   12   127    127
    6   58   548    548

输出

score = 7500

example = [ x for x, y in zip(destinations, pointCosts) if y == score ]

您可以通过print()函数在单独的行上进行打印:

['Toronto', 'Ottawa']

输出:

print(*example, sep = '\n')

答案 1 :(得分:0)

您是否尝试过使用字典而不是两个单独的列表? 例如:
locations = {"Toronto":7500, "Winnipeg":9000 ...}

points = 7500
for destination,pointCost in locations.items():
    if pointCost == points:
        print (destination)

然后您可以遍历字典以提取键的聚合

答案 2 :(得分:0)

[ print(y,x) for x, y in zip(destinations, pointCosts) if y == 7500]

  

7500,“多伦多”,

     

7500,“渥太华”