使用Python 2.7,假設我有兩個變量:字符串處理for循環
encoded_username = 'bender_in_soup_1234'
code = '000204071012'
在code
的字符串實際上指定大寫字符在encoded_username
位置。即00
意味着第一個字符是大寫。 02
意味着第三個字符是大寫。 04
意味着第五個字符是大寫。等等。它可能會去99
(usernames
不超過100個字符)。
完全解碼的用戶名是:
decoded_username = 'BeNdEr_In_SoUp_1234'
什麼是最有效的方法(在Python 2.7)使用code
提供的encoded_username
解碼?
我想:
upper_case_positions = [code[i:i+2] for i in range(0,len(code),2)]
for position in upper_case_positions:
encoded_username[position] = encoded_username[int(position)].upper()
return encoded_uname
但這只是給了我'str' object does not support item assignment
。
此外,我將在解碼時解析多個用戶名,即上面的代碼將嵌套在for
循環中。在for
循環中有for
循環讓我覺得可能有更高效的解決方案。你們有什麼建議?我非常感興趣。
已經嵌套for循環是不是在大多數情況下,效率低下。 –