2015-12-05 23 views
0

我想爲前10個字母生成列表理解。前10個字母的列表理解

letters = [l for l in 'a-j'] 
print(letters) 

輸出:

['a', '-', 'h'] 

這不會產生預期的output.How做我產生前10個字母的名單?

+0

'a-j'看起來像一個正則表達式的東西。你對'letters = [l for'in'abcdefghij']'不滿意嗎? – pushkin

+1

如果你不想要一個字符範圍類,你總是可以用'letters = list('abcdefghij')'對它進行硬編碼。 – TigerhawkT3

回答

4

使用string.ascii_lowercase其中包含默認情況下存儲的小寫字母。

>>> import string 
>>> string.ascii_lowercase 
'abcdefghijklmnopqrstuvwxyz' 
>>> list(string.ascii_lowercase[:10]) 
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'] 
+1

因爲OP試圖找出如何獲得'a'和'j'之間的字符,所以'list(string.ascii_lowercase [string.ascii_lowercase.index('a'):string.ascii_l owercase.index(' f')+ 1])'會更清楚嗎? –