如何将其转换为python列表理解

2024-04-29 04:35:18 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,基本上,我正在尝试制作一个列表理解函数,如果输入是一个字符,并且是选项列表中的一个选项[a,b,c,d,e,a,b,c,d,e],它将添加到一个名为answers的列表中

def anwser(numQ):
    anwserlist = list()
    choice = [a, b, c, d, e, A, B, C, D, E]
    for num in numQ:
        a = input(prompt)
        if len(a) > 1 and a in choice:
            awnserlist.append(a)

这是我目前所拥有的,但它不起作用

anwsers = [a = input(f'What is the anwser to question{num}?')for num in range(1,numQ+1) if len(a) < 2 and in choices]

Tags: and函数in列表forinputlenif
2条回答

您可以使用以下命令

answerList = [a for num, a in zip(numQ, iter(lambda: input(prompt), None)) if len(a) > 1 and a in choice]

但我不推荐。并不是每个循环都需要或者应该被列表理解所取代,您现在所拥有的一切都很好

valid_choices = {'a', 'b', 'c','d','e','A', 'B','C','D','E'}
numQ = 3

answers = [a for a in (input(f'What is the anwser to question{num}? ') for num in range(1, numQ+1)) if a in valid_choices]
print(answers)

相关问题 更多 >