python学习一(Python中的列表)

python中有两种列表,分别用()和[]表示:

例如:

letter = ('a','b','c')
letter = ['a','b','c']

用小括号表示的列表初始化后不允许修改,而中中括号生成的列表可以修改。

 例子:列表中的列表

movies = ["The Holy Grail", 1975, "Terry Jones & Terry Gilliam", 91, ["Graham Chapman", ["Michael Palin", "John Cleese","Terry Gilliam", "Eric Idle", "Terry Jones"]]]

上面的movies列表中有两个子列表,要求打印出所有数据,子列表前打印出一个制表符,以示区别

代码如下:代码中使用了一个递归,使用isinstance判断数据类型,由于print默认是打印结果后,再打印一个换行,这里使用end改变print的默认行为,level表示子列表的层数。

def print_movielist(a_list,level):
    for each_movie in a_list:
        if isinstance(each_movie, list):
            print_movielist(each_movie,level +1)
        else:
            for i in range(level):
                print("	",end='')
            print(each_movie)
        
print_movielist(movies,0)

执行以上代码后,打印结果如下:

The Holy Grail
1975
Terry Jones & Terry Gilliam
91
    Graham Chapman
        Michael Palin
        John Cleese
        Terry Gilliam
        Eric Idle
        Terry Jones

可以看到子列表前面都打印出了制表符以示区别。

原文地址:https://www.cnblogs.com/pingh/p/3438910.html