我有一個字典,my_dict={'A':1, 'B':1,'C':1,'D':2,'E':2,'F':2,'G':3,'H':3,'I':3}
我想撰寫一個輸入字串的函式,如果長度為 5,則使用字典的鍵檢查字串的字符,如果匹配,則列印這些鍵的值,否則應回傳 false。例如,如果我輸入一個字串“ABIFA”,它應該產生 11321。下面是我的代碼,但它不會產生我期望的:
my_dict={'A':1, 'B':1,'C':1,'D':2,'E':2,'F':2,'G':3,'H':3,'I':3}
def string_to_number(mystring):
if len(mystring)==5:
result = [val for key, val in my_dict.items() if mystring in key]
print(str(result))
else:
return False
string_to_number("ABIFA") # should produce 11321
string_to_number("ABIFAA") # should return False
你能告訴我我哪里出錯了嗎?
uj5u.com熱心網友回復:
您可以將每個鍵/值結果映射到 astr然后join使用生成器運算式
def string_to_number(mystring):
if len(mystring) == 5:
return ''.join(str(my_dict[i]) for i in mystring)
else:
return False
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/360848.html
上一篇:C#整數陣列串列不包含專案
下一篇:Python-通過元組搜索
