0
例如,我有一個lst = "ABCXYZ"
,我希望可以將輸出爲"CDEZAB"
如何用Pythonic的方式將「ABCD ...」轉換爲「CDEF ...」?
我想出到目前爲止是最好的方法:
"".join(chr((ord(x)-ord('A')+2)%26+ord('A')) for x in lst)
這是尷尬。使用像{'A': 'C', 'B': 'D', ……, 'X': 'Z', 'Y': 'A', 'Z': 'B'}
這樣的字典似乎更加Pythonic,但更加尷尬。
任何想法?
字典可以創建非常容易,但:'CONV =字典(拉鍊(字母,字母[2:] +字母[:2]))''作爲 ''。加入然後轉換是一樣簡單( map(conv.get,string))' – BlackBear
[凱撒密碼函數在Python]可能重複(http://stackoverflow.com/questions/8886947/caesar-cipher-function-in-python) –