有谁知道在 Python 中创建一系列连续调用的字符串的方法?
像'ABCDEF'然后先是'A',然后是'B'然后是'C'等等?或者你可以从不同的角度调用它们,比如'D'然后'E'然后'F'然后'A'等
对于启用起点、长度和围绕终点“旋转”的东西,您可以使用:(注意切片、.index()
命令和方便的ascii_uppercase
常量)
from itertools import islice, cycle
from string import ascii_uppercase
def func(start='A', length=1, source=ascii_uppercase):
src = list(source)
idx = src.index(start)
cyc = cycle(src[idx:] + src[:idx])
return ''.join(islice(cyc, length))
>>> func(length=10)
'ABCDEFGHIJ'
>>> func(length=10, start='X')
'XYZABCDEFG'
>>> func()
'A'
>>> func(length=3)
'ABC'
我不确定你想要什么:
for c in "ABCDEF":
print (c)
一次会给你1个字符。或者您可以从中构建一个列表:
print(list("ABCDEF"))
字符串是可下标的:
a = "ABCDEF"
print (a[1]) #B
因此,您可以通过这种方式获取各个元素...
如果要构造一个从元素 3 开始的循环字符串:
a = "ABCDEF"
cycle = a[3:] + a[:3]
然后可以像上面那样迭代或下标。
你的意思是这样的:
In [3]: for i in range(len(s)+1):
...: print s[i:]
...:
ABCDEF
BCDEF
CDEF
DEF
EF
F