Добавление элемента в список без скобок [] - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь закодировать шифр Vigenere. Я строю список 2D, который идет

[[a,b,c,d], [b,c,d,a], [c,d,a,b], [d,a,b,c]]

У меня это работает, за исключением части, которую я нарезаю спереди и двигаюсь назад, заканчивается [ ] скобками. например.

[[a,b,c,d], [b,c,d,[a]], [c,d,[a,b]], [d,[a,b,c]]

мой код:

Vigenere Cipher

alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
vigenere = []

for letter in alphabet:
    if letter == 'a': #ie if its the start, no need for anything fancy
        vigenere.append(alphabet[alphabet.index(letter):len(alphabet)])
    else:
        slicer = alphabet[alphabet.index(letter):len(alphabet)]
        slicer.append(alphabet[0:alphabet.index(letter)])
        vigenere.append(slicer)

print(vigenere)

1 Ответ

0 голосов
/ 17 января 2019

В вашем блоке else, slicer.append(alphabet[0:alpha.index(letter)]) добавит список в список slicer, где вы столкнетесь с вашей проблемой. Вместо этого используйте slicer.extend(...).

...