- 已关闭**。此问题需要details or clarity。当前不接受答案。
- 想要改进此问题?**添加详细信息并通过editing this post阐明问题。
14小时前关门了。
Improve this question
我有一个布尔值列表,比如[True, False, False, False, True, ...]
列表总是有一个预设的长度,我如何使用match
/case
语法来检查每个元素的值?
我能用这个吗?
# The returned result is a list of True or False -> [True, True, False, True, False] etc.
match list_items:
case list_items[0] == 'True'
case list_items[1] == 'False'
2条答案
按热度按时间56lgkhnf1#
这个问题有些开放的解释,但这是我认为OP正在寻找的:
w46czmvw2#
你只需要把match语句 Package 在一个循环中,那么它就会像预期的那样工作。如果你不这样做,它将评估整个list对象,并且一个list不能是
True
或False
。你可以把它想象成(list == True)
。这个语句总是评估为false,如果你在if
或match
语句中使用它,它就不会工作。这是你需要做的:
在这个例子中,如果索引值为True,我就简单地输出1,如果为False,输出0,最终输出为
1 0 0 0 1
。