我需要用数字替换一些字母到列表中(每个字母编码为一个数字)。我用这个结构:如何让我的代码更Pythonic?
r = []
for x in some_list:
if x in "ABCDE":
r.append({"A":10, "B":20, "C":30, "D":40, "E":50}[x])
else:
r.append(int(x)) # convert string digit to digit
some_list = r
(some_list在这段代码中是可变的)。
我想问一下在python(少代码)中是否有一些更紧凑的结构可以使编码更快,运行速度更快。
你为什么不就地更换some_list的元素?这将为您节省复制的头条。 – RonaldBarzell
这是什么意思?我是v初学者python! – alinsoar
这意味着不是建立一个单独的列表r,然后将其分配给some_list,而是将some_list的每个元素设置为循环中的新值。但是,还有一些其他的回应,用一些非常紧凑的方式来做到这一点,所以我建议你先跟进。 – RonaldBarzell