2013-06-03 48 views
0

我已经从被称为站数据创建的列表= []结合两个元件蟒

打印出作为

['france', 'england', 'germany', 'china', 'paris', 'sydney', 'gold coast', 'canberra', 'perth', 'melbourne'] 

我也有另一个函数x其中打印的打印时。

[0.0, 3043.004178666758, 21558.2996208357, 40246.748450913066, 40908.82213277263, 43786.0579097594, 67781.1426515405, 79693.11338661514, 65046.35819797423, 92804.01912347642] 

我有两个问题。

首先)是有没有办法将两者结合起来,即这样我就可以打印,打印

[france = 0.0, england = 3043.004, germany = 21558.2999] and so on 

其次,我可以创建变量或列表或东西,使得法国持有的价值一个新的列表或功能= 0.0所以如果0.0后来产生,我可以调用法国和法国变量中的任何数据?

回答

5

使用dictzip

>>> 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 

打印键和值:

>>> 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 
+0

我怎么会去打印DIC作为一个整体?有可能像打印所有值在一个 – user2430623

+0

@ user2430623使用'for'循环。 –

+0

怎么所以我不明白在这种情况下使用循环。 – user2430623