[Python3] 遍历复合列表[TZZ]

2024-11-05 11:30:50

1、启动已安装的Python IDLE程序,然后点击菜单栏上的“File > New File”新建一个Python源代码文件(由Python内置的文本编辑器打开);

[Python3] 遍历复合列表[TZZ][Python3] 遍历复合列表[TZZ]

2、在新打开的代码编辑窗口中,编写一段遍历输出一维列表中所有元素的代码。为了指明输出的内容是什么,可以在输出列表元素之前写上一条打印语句;

[Python3] 遍历复合列表[TZZ]

3、代码编写完毕后,点击菜单栏上的“File > Save”(或者Ctrl + S)保存新建的源代码文件(记得取一个有意义的名字并存放在容易找到的位置);

[Python3] 遍历复合列表[TZZ][Python3] 遍历复合列表[TZZ]

4、保存完代码之后,可以通过菜单栏上的“Run > Check Module”(或者ALT + X)执行代码检查,如果代码有语法错误,它会弹出错误提示,并用红色标记出源代码中的出错位置。如果没有问题,则什么也不会发生;

[Python3] 遍历复合列表[TZZ]

5、执行代码语法检查后,点击菜单栏上的“Run > Run Module”(或F5),运行编辑器中的Python代码。执行完毕后,可以在Python Shell中见到输出的内容;

[Python3] 遍历复合列表[TZZ][Python3] 遍历复合列表[TZZ]

6、在代码中定义一个名为composite的复合列表并使用内建函数print将其输出。列表的值尽可能多套几层,增加遍历的难度。写完代码后,按F5执行代码,可以在Shell中见到输出的结果。注意,每次执行代码时,Shell环境会自动重置。print函数可以将复合列表按定义的格式输出;

[Python3] 遍历复合列表[TZZ]

7、写一个遍历composite列表的for..in循环,将其中的所有元素输出。写完代码后执行。查看Shell中的输出,发现其中仍然有子列表的元素没有遍历到;

[Python3] 遍历复合列表[TZZ]

8、为了遍历列表中的列表元素,可以通过内建函数isinstance判断列表中的元素是否是一个列表。如果是,则继续用for..in循环遍历其中的元素。不是,则直接输出。修改遍历composite列表的代码,增加遍历列表元素的代码。写完代码后,按F5运行代码。查看Shell中的输出内容,发现第1级列表中的子列表元素已经可以正常输出了;

[Python3] 遍历复合列表[TZZ]

9、为了遍历更多层的子列表元素,继续向代码中添加更多的if和for..in语句。写好代码后,继续按F5运行。查看Shell中的输入,发现总共写了3层for..in循环后,已经可以遍历composite列表中的所有元素了。可是,如果列表层次再多一些,难道要继续写内层的处理循环?

[Python3] 遍历复合列表[TZZ]

10、仔细观察if和for..in嵌套的代码,发现它符合某种模式。这种模式似乎可以用递归来实现。而且递归可以支持无限层次的列表嵌套。根据之前的composite列表遍历代码,定义一个打印列表元素的printList函数,然后调用该函数打印composite列表中的元素;

[Python3] 遍历复合列表[TZZ]

11、为了让打印的列表看上去更加直观,可以根据列表的级别,添加指定数量的‘-’字符。根据这一想法,可以实现一个改进版的printList2函数,然后执行F5测试一下。OK,输出很正常;

[Python3] 遍历复合列表[TZZ]

12、再写个测试函数测试一下;

[Python3] 遍历复合列表[TZZ]

13、继续改进,增加可以自定义间隔增长的参数,实现printList3函数。然后运行测试一下;

[Python3] 遍历复合列表[TZZ]

14、继续调用printList3函数,传入不同的参数并运行代码。OK,一切正常!

[Python3] 遍历复合列表[TZZ]

15、下一篇,我决定把之前写的函数放到Python的模块中。Enjoy!

猜你喜欢