PHP前端开发

掌握 Python 列表:您需要了解的基本技术

百变鹏仔 5天前 #Python
文章标签 您需要

为了

简单的

这将循环遍历列表,并且列表中的每个元素在每次迭代中都可以作为变量使用。当需要遍历列表中的所有元素时,这被广泛使用。

operating_systems = ["windows", "mac", "linux"]for os in operating_systems:    print(os)`
# outputwindowsmaclinux

对于和范围

当需要根据索引访问并且需要索引值时。

operating_systems = ["windows", "mac", "linux"]for i in range(len(operating_systems)):    print(f"index {i}: {operating_systems[i]}")
# outputindex 0: windowsindex 1: macindex 2: linux

为并枚举

如果您同时需要索引和值,这是一种优雅的方式

operating_systems = ["windows", "mac", "linux"]for index, os in enumerate(operating_systems):    print(f"index is {index} and value is {os}")
# outputindex is 0 and value is windowsindex is 1 and value is macindex is 2 and value is linux

尽管

简单的同时

operating_systems = ["windows", "mac", "linux"]i = 0 # inital condition, required to startwhile i < len(operating_systems):    print(f"while looping {i} got the value {operating_systems[i]}")    i = i + 1 # this is very important, dont forget about infinite loops
# outputwhile looping 0 got the value windowswhile looping 1 got the value macwhile looping 2 got the value linux

迭代器

可以很好地控制何时向前移动迭代器,尽管我们必须依靠 stopiteration 来检查是否到达末尾。

operating_systems = ["windows", "mac", "linux"]iterator = iter(operating_systems)while true:    try:        os = next(iterator)        print(f"consumed form iterator {os}")    except stopiteration:        print("consumed all from iterator")        break
# outputconsumed form iterator windowsconsumed form iterator macconsumed form iterator linuxconsumed all from iterator
# hack to avoid stopiterationiterator = iter(operating_systems)end_of_list = object()reached_end = falsewhile not reached_end:    os = next(iterator, end_of_list)# a predefined object as end of the list    if os != end_of_list:        print(os)    else:        reached_end = true

列表理解

需要转型时

operating_systems = ["windows", "mac", "linux"]os_uppercase = [os.upper() for os in operating_systems]print(os_uppercase) 
# output['windows', 'mac', 'linux']

骑自行车

当需要循环浏览列表时。使用适当的边界条件来打破循环

import itertoolsoperating_systems = ["windows", "mac", "linux"]for item in itertools.cycle(operating_systems):      print(item)# infinite cycling loopmake sure to have proper boundary condition to break
# outputwindowsmaclinuxwindowsmaclinuxwindowsmaclinuxwindowsmaclinuxwindows ....... infinite loop

多个列表

同时循环多个列表。如果列表大小不同,请注意输出。

operating_systems = ["windows", "mac", "linux"]mobile_operating_systems = ["android", "ios"]for os, mobile_os in zip(operating_systems,mobile_operating_systems):    print(os, mobile_os)
# outputwindows androidmac ios

反向循环

operating_systems = ["windows", "mac", "linux"]for reversed_os in reversed(operating_systems):    print(reversed_os)
# Outputlinuxmacwindows