-3

有谁知道在 Python 中创建一系列连续调用的字符串的方法?

像'ABCDEF'然后先是'A',然后是'B'然后是'C'等等?或者你可以从不同的角度调用它们,比如'D'然后'E'然后'F'然后'A'等

4

3 回答 3

1

对于启用起点、长度和围绕终点“旋转”的东西,您可以使用:(注意切片、.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'
于 2012-11-24T16:12:58.830 回答
0

我不确定你想要什么:

for c in "ABCDEF":
    print (c)

一次会给你1个字符。或者您可以从中构建一个列表:

print(list("ABCDEF"))

字符串是可下标的:

a = "ABCDEF"
print (a[1]) #B

因此,您可以通过这种方式获取各个元素...

如果要构造一个从元素 3 开始的循环字符串:

a = "ABCDEF"
cycle = a[3:] + a[:3]

然后可以像上面那样迭代或下标。

于 2012-11-24T15:29:31.143 回答
0

你的意思是这样的:

In [3]: for i in range(len(s)+1):
   ...:     print s[i:]
   ...: 
ABCDEF
BCDEF
CDEF
DEF
EF
F
于 2012-11-24T15:33:14.710 回答