2016-12-06 125 views
0

对,我有这样一个字典:字典自定义字符串格式

my_dict = {'BAM': (1.985, 1.919), 'PLN': (4.509, 4.361),'SEK': (9.929, 9.609), 'CZK': (27.544, 26.544), 'NOK': (9.2471, 8.9071), 'AUD': (1.4444, 1.4004), 'HUF': (315.89, 307.09), 'GBP': (0.8639, 0.8399), 'HRK': (7.6508, 7.4208), 'RUB': (71.9393, 66.5393), 'USD': (1.0748, 1.0508), 'MKD': (62.11, 60.29), 'CHF': (1.0942, 1.0602), 'JPY': (121.83, 118.03), 'BGN': (1.979, 1.925), 'RSD': (124.94, 121.14), 'DKK': (7.5521, 7.3281), 'CAD': (1.4528, 1.4048)}

我需要编写一个函数(my_dict,[“英镑”,“美元”,“蹭” “HRK”,“福林”])返回此:

GBP......0.8639......0.8399 USD......1.0748......1.0508 RUB.....71.9393.....66.5393 HRK......7.6508......7.4208 HUF....315.8900....307.0900

我们正在学习如何格式化字符串,我不知道如何处理这个。任何帮助,将不胜感激。它需要像这样完全格式化,所有的点和东西(GBP之前没有空白空间)。

回答

1

其中一个更简单的方法可以做到你的要求是使用 list comprehension

def my_function(dict, list): 
    return ["{0}......{1}......{2}".format(item, dict[item][0], dict[item][1]) 
      for item in list 
      if item in dict] 

my_function将返回currency......value......value项的列表。事实上,你甚至都不需要创建一个函数:

strings = ["{0}......{1}......{2}".format(item, dict[item][0], dict[item][1]) 
      for item in list 
      if item in dict] 

然而,如果你不想使用列表理解,同样的功能看起来是这样的:

def my_function(dict, list): 
    strings = [] 
    for item in list: 
     if item in dict: 
      strings.append("{0}......{1}......{2}".format(item, dict[item][0], dict[item][1])) 

    return strings