0

私は次のような配列を持っています

myarray = 'ABCDE'

として出力したい

required_output = [AB,BC,CD,DE,EA]  ## A cyclic form of array 'ABCDE'

次のコードを使用しました

for i in range(len(myarray) + 1):

    a = i % len(myarray) ; b = i % len(myarray) + 2

    print myarray[a : b]

私が得る結果

AB , BC, CD, DE, E , AB

「ea」の代わりに「e」が表示され、「ab」が表示されるべきではないロジックが欠けています???

私が見つけた別の方法は、このようなループを使用することでした

for i in range(1,len(myarray)):

    print myarray[i-1] + myarray[i]

次のように出力します

'EA','AB','BC','CD','DE'  ## where the last element 'EA' comes in the begining
4

5 に答える 5

0
[''.join(a) for a in zip(myarray,myarray[1:]+myarray[0])]

出力:

['AB', 'BC', 'CD', 'DE', 'EA']
于 2013-11-22T11:51:00.077 に答える