我正在尝试通过将文本/数字ID(例如ABC123)与字典代码匹配来将文本/数字ID(例如ABC123)重命名为数字(例如123123)。 (只是学习如何编码,所以,如果有更好的主意,请务必告诉。)
我尝试搜索解决方案,但很多都是使用打印的。我需要将结果传递给另一个函数,所以不能使用print。
def convertid(old_id):
code = {'A' : '1','B' : '2','C' : '3','D' : '4','E' : '5','F' :
'6','G' : '7','H' : '8','I' : '9','J' : '10','K' : '11','L' :
'12','M' : '13','N' : '14','O' : '15','P' : '16','Q' : '17','R' :
'18','S' : '19','T' : '20','U' : '21','V' : '22','W' : '23','X' :
'24','Y' : '25','Z' : '26', '1' : '1','2' : '2','3' : '3','4' :
'4','5' : '5','6' : '6','7' : '7','8' : '8','9' : '9','0' : '0'}
for x in old_id:
new_id = code[x],end = ""
return new_id
我也尝试过new_id = "".join(code[x])
和new_id += code[x]
,但都没有用。
我希望在一行中获得“ 123123”作为新ID,而不是:
1
2
3
1
2
3
在多行上(抱歉,不知道为什么预览在双空格行上显示数字。我得到的结果是在单空格行上。)
答案 0 :(得分:2)
只需连接一个空字符串即可
code = {'A' : '1','B' : '2','C' : '3','D' : '4','E' : '5','F' :
'6','G' : '7','H' : '8','I' : '9','J' : '10','K' : '11','L' :
'12','M' : '13','N' : '14','O' : '15','P' : '16','Q' : '17','R' :
'18','S' : '19','T' : '20','U' : '21','V' : '22','W' : '23','X' :
'24','Y' : '25','Z' : '26', '1' : '1','2' : '2','3' : '3','4' :
'4','5' : '5','6' : '6','7' : '7','8' : '8','9' : '9','0' : '0'}
i = 'A4BC'
n = "".join(code[l] for l in i)
print(n)
# 1423
答案 1 :(得分:1)
您可以使用new_id += code[x]
进行以下操作
def convertid(old_id):
code = {'A' : '1','B' : '2','C' : '3','D' : '4','E' : '5','F' :
'6','G' : '7','H' : '8','I' : '9','J' : '10','K' : '11','L' :
'12','M' : '13','N' : '14','O' : '15','P' : '16','Q' : '17','R' :
'18','S' : '19','T' : '20','U' : '21','V' : '22','W' : '23','X' :
'24','Y' : '25','Z' : '26', '1' : '1','2' : '2','3' : '3','4' :
'4','5' : '5','6' : '6','7' : '7','8' : '8','9' : '9','0' : '0'}
new_id = ''
for x in old_id:
new_id += code[x]
return new_id
print(convertid('ABC123')) # 123123
答案 2 :(得分:1)
使用get
处理key
不存在的情况,并在这种情况下使用默认值''
code = {'A' : '1','B' : '2','C' : '3','D' : '4','E' : '5','F' :
'6','G' : '7','H' : '8','I' : '9','J' : '10','K' : '11','L' :
'12','M' : '13','N' : '14','O' : '15','P' : '16','Q' : '17','R' :
'18','S' : '19','T' : '20','U' : '21','V' : '22','W' : '23','X' :
'24','Y' : '25','Z' : '26', '1' : '1','2' : '2','3' : '3','4' :
'4','5' : '5','6' : '6','7' : '7','8' : '8','9' : '9','0' : '0'}
i = 'A4BC'
print(''.join(code.get(l,'') for l in i))