我試圖用一個列表,如小寫字母和數字: [(1,4),(2,2)]使用列表生成的python
要獲得: [(一,4 ),(b,2)]
我想使用'string.ascii_lowercase'我將如何在Python3中實現這一點,這是爲了獲得最少的字符可能的編碼挑戰。
感謝您的幫助!
我試圖用一個列表,如小寫字母和數字: [(1,4),(2,2)]使用列表生成的python
要獲得: [(一,4 ),(b,2)]
我想使用'string.ascii_lowercase'我將如何在Python3中實現這一點,這是爲了獲得最少的字符可能的編碼挑戰。
感謝您的幫助!
我不打算爲你解決它,但我建議你看看chr
和ord
功能。請注意,「a」的ASCII代碼是97,所以要將1轉換爲「a」,您必須將96添加到它。
謝謝!只需要一個地方開始吧! –
樂意幫忙! :)隨時upvote或接受我的答案。 ;) –
我建議你按照上面B.Eckles給出的建議,因爲你會更好地學習,並可能找到一個更短的(字符方式)解決方案。
但是,如果你想堅持使用string.ascii_lowercase,下面的代碼片段可能是從開始有用:
import string
a = [(1,4),(2,2)]
b = []
for (first, second) in a:
b.append(
(string.ascii_lowercase[(first-1) % len(string.ascii_lowercase)],
second))
print b
在這種情況下,打印的解決辦法是:
[('a', 4), ('b', 2)]
我已經插入模塊(即%len(string.ascii_lowercase))以避免出界限訪問。只要小心,值0就會以這種方式產生'z'。
希望它有幫助!
與其讓別人解決你的編碼挑戰,不是讓他們開始就不容易嗎? – jonrsharpe