我需要用數字替換一些字母到列表中(每個字母編碼爲一個數字)。我用這個結構:如何讓我的代碼更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