首页 > 代码库 > python练习题:循环打印嵌套列表

python练习题:循环打印嵌套列表

好久没写博文了,添加一个练习题,选自《head_first_python》~~


python列表:以中括号开始和结束"[]";列表项以逗号","分隔开,使用赋值操作符"="赋予一个标识符。如:

movies=["the holy",1975,"terry jones",91,["graham",["michael","john","gilliam","idle","haha"]]]


注释:1、无需声明标识符"movies"的数据类型;

      2、列表列表是一个高层集合,列表项的类型并不重要,可以是字符串也可以是数字甚至是列表。


打印列表:

1、直接打印:

>>>print movies[0]
>>>the holy
>>>print movies[1]
>>>1975

注释:列表的项读取和数组一样,从第0个开始


2、循环打印

while 循环和for循环

count=0
while count < len(movies):
  print movies[count]
  count=count+1
>>>for i in movies:
...  print i
...
the holy
1975
terry jones
91
[‘graham‘, [‘michael‘, ‘john‘, ‘gilliam‘, ‘idle‘, ‘haha‘]]

注释:这时候出现一个问题,列表中嵌套的列表,在读取的时候作为一个列表项直接打印,而不是我们想要的打印成一列


3、嵌套循环打印

  def print_list(object):
   
    for i in object:
      if isinstance(i,list):
        print_list(i)
      else:
        print i
  
   print_list(movies)
  
  
the holy
1975
terry jones
91
graham
michael
john
gilliam
idle
haha

注释:采用isinstance判断对象类型,函数递归循环打印。



本文出自 “hiubuntu” 博客,转载请与作者联系!