如何以“X”字符序列打印每5个字符?

时间:2013-11-27 08:52:16

标签: python printing sequence

如何以“X”字符序列打印每5个字符,例如:

9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08

6 个答案:

答案 0 :(得分:4)

使用切片

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

输出:

>>> '9045e51f22550'

答案 1 :(得分:3)

使用切片符号:

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

    '9045e51f22550'

与print结合使用:

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

答案 2 :(得分: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'

答案 3 :(得分:0)

你可以通过将第三个参数传递给它来生成一个范围可以任意增量的迭代器,如下所示:

a = "1234567890"

for x in range(0, len(a), 5):
    print(a[x])
Dorvak和Yoann建议使用切片符号。那更优雅。

答案 4 :(得分:0)

teststring = "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"    

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

枚举将从起始索引1开始计数,我们可以使用该索引打印完全可被5整除的字母。

答案 5 :(得分:0)

value = "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08" 

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

      print i