如何,每5个字符打印的“X”字符,如序列:如何在“X”字符序列中打印每5个字符?
9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
如何,每5个字符打印的“X”字符,如序列:如何在“X”字符序列中打印每5个字符?
9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
使用切片
print("9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"[::5])
输出:
>>> '9045e51f22550'
您可以生成范围的推移任意增加通过传递第三个参数给它这样一个迭代器:
a = "1234567890"
for x in range(0, len(a), 5):
print(a[x])
Dorvak和约恩建议切片标志。这更优雅。
的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'
这很好,虽然我应该指定我也希望输出作为一个字符序列。谢谢。 – Rezic
已更新,但Yoann's/dorvak的答案当然更优雅。 –
teststring = "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
for num, letter in enumerate(teststring, 1):
if num % 5 == 0:
print letter
枚举将从起始索引1开始计数,并且我们可以使用该索引打印整齐划一的字母5.
使用切片符号:
>>> "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"[::5]
'9045e51f22550'
在结合打印:
>>> for i in "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"[::5]:
... print i
...
9
0
4
5
e
5
1
f
2
2
5
5
0
value = "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
for i in range(0,len(value),4):
print i
这比我的回答好。 –