【发布时间】:2021-06-03 00:57:18
【问题描述】:
我有以下函数将邮政编码的前两个字母映射到一个国家。但是,它不能识别只有一个字母后跟一个数字,即“B4”或“N1”,因此它不会映射它并返回“Other”。
我该怎么做才能让它识别单个字母后跟数字?
我的功能是:
def parse_to_find_country(x):
if (x == "BT"):
return "Northern Ireland"
elif (x == "CF")|(x == "SA")|(x == "LD")|(x == "LL")|(x == "NP"):
return "Wales"
elif (x == "AB")|(x == "DD")|(x == "DG")|(x == "EH")|(x == "FK")|(x == "G")|(x == "HS")|(x == "IV")|(x == "KA")|(x == "KN")|(x == "KY")|(x == "ML")|(x == "PA")|(x == "PH")|(x == "TD")|(x == "ZE"):
return "Scotland"
elif (x == "AL")|(x == "B")|(x == "BA")|(x == "BB")|(x == "BD")|(x == "BH")|(x == "BL")|(x == "BN")|(x == "BR")|(x == "BS")|(x == "CA")|(x == "CB")|(x == "CH")|(x == "CM")|(x == "CO")|(x == "CR")|(x == "CT")|(x == "CV")|(x == "CN")|(x == "DA")|(x == "DE")|(x == "DH")|(x == "DL")|(x == "DN")|(x == "DT")|(x == "DY")|(x == "E")|(x == "EC")|(x == "EH")|(x == "EN")|(x == "EX")|(x == "FY")|(x == "GL")|(x == "GU")|(x == "HA")|(x == "HD")|(x == "HG")|(x == "HP")|(x == "HR")|(x == "HU")|(x == "HX")|(x == "IG")|(x == "IP")|(x == "KT")|(x == "L")|(x == "LA")|(x == "LE")|(x == "LN")|(x == "LS")|(x == "LU")|(x == "M")|(x == "ME")|(x == "M")|(x == "MK")|(x == "N")|(x == "NE")|(x == "NG")|(x == "NN")|(x == "NR")|(x == "NW")|(x == "OL")|(x == "OX")|(x == "PE")|(x == "PL")|(x == "PO")|(x == "PR")|(x == "RG")|(x == "RH")|(x == "RM")|(x == "S")|(x == "SE")|(x == "SG")|(x == "SK")|(x == "SL")|(x == "SM")|(x == "SN")|(x == "SO")|(x == "SP")|(x == "SR")|(x == "SS")|(x == "ST")|(x == "SW")|(x == "SY")|(x == "TA")|(x == "TF")|(x == "TN")|(x == "TQ")|(x == "TR")|(x == "TS")|(x == "TW")|(x == "UB")|(x == "W")|(x == "WA")|(x == "WC")|(x == "WD")|(x == "WF")|(x == "WN")|(x == "WR")|(x == "WS")|(x == "WV")|(x == "YO"):
return "England"
else:
return "Other"
【问题讨论】:
-
您的代码看起来很容易翻译成字典:
python -
好的,那么您想检测字符串以开头的某个特定事物的时间?当您将
python string starts with放入搜索引擎时发生了什么? -
较短:
if x in ("CF", "SA", "LD", "LL", "NP")。但是如果你想检查字符串是否以B开头,那么你应该使用x.startswith("B")。最终你可以使用模式re来使用regex像B\d来检查charB和任何digit -
|用于位操作 - 对于布尔值(真/假),您应该使用or
标签: python