2013-11-27 42 views

回答

4

使用切片

print("9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"[::5]) 

輸出:

>>> '9045e51f22550' 
+0

這比我的回答好。 –

0

您可以生成範圍的推移任意增加通過傳遞第三個參數給它這樣一個迭代器:

a = "1234567890" 

for x in range(0, len(a), 5): 
    print(a[x]) 

Dorvak和約恩建議切片標誌。這更優雅。

1

range函數可以接受的增量:

x = "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08" 

for i in range(0, len(x), 5): 
    print(x[i]) 

更新:如果你想輸出爲一系列的字符,你可以用生成器表達式:

>>> x = "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08" 
>>> y = "".join(x[i] for i in range(0, len(x), 5)) 
>>> y 
'9045e51f22550' 
+0

這很好,雖然我應該指定我也希望輸出作爲一個字符序列。謝謝。 – Rezic

+0

已更新,但Yoann's/dorvak的答案當然更優雅。 –

0
teststring = "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"  

for num, letter in enumerate(teststring, 1): 
    if num % 5 == 0: 
     print letter 

枚舉將從起始索引1開始計數,並且我們可以使用該索引打印整齊劃一的字母5.

3

使用切片符號:

>>> "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"[::5] 

    '9045e51f22550' 

在結合打印:

>>> for i in "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"[::5]: 
... print i 
... 
9 
0 
4 
5 
e 
5 
1 
f 
2 
2 
5 
5 
0 
0
value = "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08" 

for i in range(0,len(value),4): 

     print i