Python - .pop()适用于倒数第二项而不是最后一项

时间:2017-10-25 15:30:20

标签: python

我试图从列表中弹出某些项目:从最后一个,最后一个,第一个和第一个并将它们附加到新列表。但是,使用.pop()和.pop(0)会弹出第二个到最后一个和第二个项目。

def word_mixer(orig_list):
    orig_list.sort()
    new_list = []
    while len(orig_list) > 5:
        orig_list.pop(-4)
        new_list.append(orig_list.pop(-4))
        orig_list.pop(0)
        new_list.append(orig_list.pop(0))
        orig_list.pop()
        new_list.append(orig_list.pop())
    return new_list

poem = input("Give me a poem: ")
poem_list = poem.split()
poem_list_len = len(poem_list)
for item in range(poem_list_len):
    if len(poem_list[item]) <= 3:
        print(poem_list[item].lower())
    elif len(poem_list[item]) >= 7:
        print(poem_list[item].upper())
    else:
        print(poem_list[item])
word_mixer(poem_list)

鉴于列表[abcdefghijk]返回[&#39;&#39;,&#39; b&#39;,&#39; j&#39;]而不是[&#39; g&#39;, &#39; a&#39;,&#39; k&#39;]。为什么这样做?

0 个答案:

没有答案