Python 有没有办法为这些嵌套for循环编写一个列表?

Python 有没有办法为这些嵌套for循环编写一个列表?,python,python-3.x,Python,Python 3.x,目的是为每次迭代将(答案[x:y])附加到一个空列表中,因此我想到了列表理解,但额外的if语句和for循环让我感到困惑。有更好的方法吗 answer = "hippopotamus" count_vowels= 0 count_consonants=0 for x in range(len(answer)): if answer[x] in 'aeiou': for y in range(x,len(answer)): if x == y:

目的是为每次迭代将
(答案[x:y])
附加到一个空列表中,因此我想到了列表理解,但额外的
if
语句和
for
循环让我感到困惑。有更好的方法吗

answer = "hippopotamus"
count_vowels= 0
count_consonants=0
 for x in range(len(answer)):
   if answer[x] in 'aeiou':
     for y in range(x,len(answer)):
        if x == y:
            continue
        print(answer[x:y])
        count_vowels+=1

回答0到len的循环的第一个逻辑。 然后对“aeiou”中的答案[i]进行过滤,然后对答案的从i+1到len的嵌套for循环进行过滤。 你可以得到x的len来得到count_元音

x=[answer[i:y] for i in range(len(answer)) if answer[i] in 'aeiou' for y in range(i+1,len(answer))]

你真的想把这段代码弄得乱七八糟吗?作为旁注,
表示范围内的y(x,len(答案)):如果x==y:continue
表示范围内的y(x+1,len(答案)):谢谢提示。嗯,我想做的是生成一个列表,其中包含每个迭代的切片,而不必强制使用一行。可能无法理解。最终目的是生成一个列表并删除重复项。