我有一个列表,我正在循环使用“for”循环,并通过if语句在列表中运行每个值。我的问题是我只想让程序做一些事情,如果列表中的所有值都通过了if语句,并且如果没有通过,我希望它移动到列表中的下一个值。目前,如果列表中的单个项目通过if语句,它将返回一个值。任何想法让我指出正确的方向?使用if语句遍历列表
8
A
回答
9
Python为您提供了大量的选项来处理这种情况。如果您有示例代码,我们可以为您缩小范围。你可以看看
一种选择是all
操作:
>>> all([1,2,3,4])
True
>>> all([1,2,3,False])
False
你也可以检查过滤列表的长度:
>>> input = [1,2,3,4]
>>> tested = [i for i in input if i > 2]
>>> len(tested) == len(input)
False
如果您使用的是for
结构可以如果遇到负面测试,请尽早退出环路:
>>> def test(input):
... for i in input:
... if not i > 2:
... return False
... do_something_with_i(i)
... return True
上述test
函数将返回在这2或更低,例如第一个值false,而它会返回True只有当所有值均大于2
0
你通过你的整个列表需要循环,并检查条件,然后再尝试对数据做任何其他事情,所以你需要两个循环(或者使用一些内置的循环,像all())。从这个键盘什么也没有太花哨,http://codepad.org/pKfT4Gdc
def my_condition(v):
return v % 2 == 0
def do_if_pass(l):
list_okay = True
for v in l:
if not my_condition(v):
list_okay = False
if list_okay:
print 'everything in list is okay, including',
for v in l:
print v,
print
else:
print 'not okay'
do_if_pass([1,2,3])
do_if_pass([2,4,6])
3
也许你可以尝试用for ... else
声明。
for item in my_list:
if not my_condition(item):
break # one item didn't complete the condition, get out of this loop
else:
# here we are if all items respect the condition
do_the_stuff(my_list)
0
如果您在尝试遍历它时删除列表中的项目,则必须小心。
如果你不删除,然后这是否帮助:
>>> yourlist=list("abcdefg")
>>> value_position_pairs=zip(yourlist,range(len(yourlist)))
>>> value_position_pairs
[('a', 0), ('b', 1), ('c', 2), ('d', 3), ('e', 4), ('f', 5), ('g', 6)]
>>> filterfunc=lambda x:x[0] in "adg"
>>> value_position_pairs=filter(filterfunc,value_position_pairs)
>>> value_position_pairs
[('a', 0), ('d', 3), ('g', 6)]
>>> yourlist[6]
'g'
现在如果value_position_pairs是空的,你就大功告成了。如果不是,您可以将i增加1以转到下一个值,或者使用它们在数组中的位置迭代失败的值。
相关问题
- 1. VBA - 访问03 - 遍历列表框,用if语句评估
- 2. 循环遍历列表,同时也使用if语句使用Python不工作
- 3. 使用if if语句检查列表
- 4. 如何使用if/else语句遍历sql结果数组?
- 5. 遍历列表使用JSON
- 6. 列表if语句python 3
- 7. 列表视图if语句
- 8. For循环if语句不遍历整个数组
- 9. 如何更改if语句以向后遍历数组?
- 10. Excel VB for循环没有遍历if语句
- 11. 是否可以手动遍历嵌套的if语句?
- 12. JS - 遍历数组并为if语句添加新数字
- 13. 遍历列表
- 14. 遍历列表
- 15. “if”语句在使用数据驱动页面时循环遍历两次
- 16. 使用if语句
- 17. 使用“if语句”
- 18. 使用if语句
- 19. 使用if语句
- 20. 蟒蛇3 if语句引用列表
- 21. 如果在列表中使用if语句列表中的r
- 22. 遍历列表的列表?
- 23. Jquery遍历列表
- 24. 遍历列表C#
- 25. 遍历数列表
- 26. 遍历表列-jQuery
- 27. QTreeview遍历列表
- 28. JQuery遍历表列
- 29. 遍历列表(Python)
- 30. 遍历类列表
示例代码总是帮助我们更好地帮助您。 – 2011-05-28 21:30:35
发布您的代码。 – GWW 2011-05-28 21:30:45
'sort'并与一个已知的src进行比较,但是正如其他人所说的那样,发布一些代码以便我们可以确定您的列表的样子! – 2011-05-28 21:34:21