结合两个元素python

use*_*623 0 python combinations dictionary list

我有一个列表,从数据创建称为stations = []

打印出来的

 ['france', 'england', 'germany', 'china', 'paris', 'sydney', 'gold coast', 'canberra', 'perth', 'melbourne']
Run Code Online (Sandbox Code Playgroud)

我还有另一个功能x,当打印时.

[0.0, 3043.004178666758, 21558.2996208357, 40246.748450913066, 40908.82213277263, 43786.0579097594, 67781.1426515405, 79693.11338661514, 65046.35819797423, 92804.01912347642]
Run Code Online (Sandbox Code Playgroud)

我有两个问题.

首先是有一种方法来组合这两个,所以我可以打印一个新的列表或打印的功能

[france = 0.0, england = 3043.004, germany = 21558.2999] and so on
Run Code Online (Sandbox Code Playgroud)

其次我可以创建变量或列表或者某些东西,使得france保持值= 0.0,这样如果后来生成0.0,我可以调用france和france变量中的任何数据吗?

Ash*_*ary 5

使用dict有zip:

>>> lis1 = ['france', 'england', 'germany', 'china', 'paris', 'sydney', 'gold coast', 'canberra', 'perth', 'melbourne']
>>> lis2 = [0.0, 3043.004178666758, 21558.2996208357, 40246.748450913066, 40908.82213277263, 43786.0579097594, 67781.1426515405, 79693.11338661514, 65046.35819797423, 92804.01912347642]
>>> dic = dict(zip(lis1,lis2))
>>> dic 
{'canberra': 79693.11338661514,
 'china': 40246.748450913066,
 'england': 3043.004178666758,
 'france': 0.0,
 'germany': 21558.2996208357,
 'gold coast': 67781.1426515405,
 'melbourne': 92804.01912347642,
 'paris': 40908.82213277263,
 'perth': 65046.35819797423,
 'sydney': 43786.0579097594}

# Fetching values
>>> dic['france']
0.0
>>> dic['sydney']
43786.0579097594
Run Code Online (Sandbox Code Playgroud)

打印键和值:

>>> for k,v in dic.iteritems():
        # k points to the key, and v points to the value
        if v < distance:
            print k,"is less than", distance
        else:    
            print k,"is greater than or equal to",distance
...         
england is greater than or equal to 1000
canberra is greater than or equal to 1000
paris is greater than or equal to 1000
france is less than 1000
melbourne is greater than or equal to 1000
germany is greater than or equal to 1000
sydney is greater than or equal to 1000
china is greater than or equal to 1000
gold coast is greater than or equal to 1000
perth is greater than or equal to 1000
Run Code Online (Sandbox Code Playgroud)