如何在Python中循环列表

时间:2016-12-09 15:48:39

标签: python list loops

如何在Python中循环遍历列表。我尝试使用for ch in sample_list,但它只通过列表中的一个项目。

sample_list = ['abc', 'def', 'ghi', 'hello']
for ch in sample_list:
       if ch == 'hello':
              return ch

如何让它发挥作用?

3 个答案:

答案 0 :(得分:2)

return会终止该功能,为避免这种情况,您可以使用print(或yield;这会创建一个生成器):

>>> sample_list = ['abc', 'def', 'ghi', 'hello']
>>> for ch in sample_list:
...     if ch == 'hello':
...          print(ch)
... 
hello

但是,对于此特定示例,您应该使用any()list.count()(具体取决于您下一步要做什么):

>>> any(item == 'hello' for item in sample_list)
True
>>> sample_list.count('hello')
1

答案 1 :(得分:1)

正如@Chris_Rands所说,你可以使用yield。

def loopList():
    sample_list = ['abc', 'def', 'ghi', 'hello']
    for ch in sample_list:
        if ch == 'hello':
            yield ch

你应该知道,yield会返回一个生成器来代替列表。

但是,您也可以创建包含结果的新列表。

def loopList():
    sample_list = ['abc', 'def', 'ghi', 'hello']
    results = []
    for ch in sample_list:
        if ch == 'hello':
            result.append(ch)

    return results

答案 2 :(得分:0)

试试这个

return

显然Sub MyMacro(strMyFile As String) ' this gets called once for each file that meets the spec you enter in ForEachPresentation ' strMyFile is set to the file name each time Dim oPresentation As Presentation Set oPresentation = Presentations.Open(strMyFile) With oPresentation .PageSetup.SlideSize = ppSlideSizeOnScreen16x9 .SaveAs .Path & "\" & "Widescreen_" & .Name .Close End With End Sub 语句主要用于函数中以将控件返回给调用函数 除非您在函数中使用它。你宁愿使用打印功能

我希望这会有所帮助