使用elif stament python的替代方法

时间:2018-10-04 14:37:29

标签: python

我正在尝试找到一种更清洁的方法来执行此操作。 我有大约20种不同的货币对,现在将数据备份到每月的csv文件中,我想自动为您的货币设置一个名称。要为名称分配自定义名称和数据,而不是使用冗长的elif语句,我正在寻找一种更简单的清洁器,为什么要这样做

使用VS社区 使用Python 3.7

import datetime as dt
import csv

currency="USD/JPY"
format="csv"

##  Find Currancy Name
if currency == "EUR/USD":
    currencyName = "EUR_USD-"
elif currency == "USD/JPY":
    currencyName = "USD_JPY-"
elif currency == "GBP/USD":
    currencyName = "GBP_USD-"
else:
    currencyname = "not found"

currentDT = dt.datetime.today().strftime('%Y-%m')
DatabaseName = currencyName + currentDT
print(DatabaseName)

1 个答案:

答案 0 :(得分:2)

改用字典来进行O(1)查找:

d = {"EUR/USD":"EUR_USD-","USD/JPY":"USD_JPY-"}
value = d.get(currency,"not found")  # "not found" is the default value
如评论中所述,在这种情况下,似乎一个简单的str.replace就可以完成任务。字典可以执行通用查找。