是的,我有一本像这样的词典:
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,[“GBP”,“USD”,“RUB”,“HRK”,“HUF”]),它会返回:
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之前没有空格)。
答案 0 :(得分:1)
你要问的最简单的方法之一就是使用a 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