Head First Python第一章:列表

来源:互联网 发布:数据透视表取消总计 编辑:程序博客网 时间:2024/06/11 00:01

1.创建列表的方法:

列表名=['a','b','c','...']

列表的内容可以是字符、数字等等,也可以是一个列表。

访问列表中的项目可以用中括号偏移量记法

列表名[偏移量]

偏移量是从0开始的,第一项为0,依次类推。

2.列表的一些方法

本章提到的方法有

len():可以得出列表的长度(项数)

.append():在列表末尾添加一项

.pop():删除某一项

.extend():在末尾添加列表

.remove():删除特定数据项

insert(,):在某项之前插入一项数据

chara=["雪之下雪乃","由比滨结衣","一色彩羽","比企谷小町"]#创建列表‘chara’print(chara)#显示‘chara’的内容print(len(chara))#len()可以得出列表的长度(项数)chara.append("雪之下阳乃")#在末尾添加一项用append,只能添加一项print(chara)chara.pop()#去掉一项用pop,括号内填要去掉的那项的偏移量,不填默认去掉最后一项print(chara)chara.extend(["雪之下阳乃","平塚静"])                                    #extend用于加入一个数据集合,相当于加入                                    #一个列表,要用中括号扩起print(chara)chara.remove("平塚静")#remove用于在列表中删除一个特定数据项                      #使用方法是在括号中填入要删除的数据print(chara)chara.insert(0,'比企谷八幡')#insert用于在某项之前加一项数据print(chara)

3,想要快速访问列表中的每一项,可以使用for循环或者if循环

anime=['我的青春恋爱物语果然有问题','进击的巨人','欢迎来到实力至上主义的教室']for each_anime in anime:    print(each_anime) #列表处理代码,也被称作“组”(suite),可以是一段代码                      #在这里只是printcount=0               #另一种迭代处理的方式是用whilewhile count<len(anime):    print(anime[count])
Anime=['我的青春恋爱物语果然有问题','2015年','渡航','12集',['比企谷八幡',['雪之下雪乃','由比滨结衣','一色彩羽','雪之下阳乃','平塚静']]]#列表可以嵌套列表for each_iteam in Anime:    print(each_iteam)    #当某个列表项为一个列表时,会被完整显示,也就                         #是说括号也会被显示

count=count+1 #for循环一般用于循环次数已知,while循环一般用于循环次数未知


4.在列表中处理列表

对于含有嵌套列表的列表,python会只处理外列表。

比如

Anime=['我的青春恋爱物语果然有问题','2015年','渡航','12集',['比企谷八幡',['雪之下雪乃','由比滨结衣','一色彩羽','雪之下阳乃','平塚静']]]#列表可以嵌套列表for each_iteam in Anime:    print(each_iteam)    #当某个列表项为一个列表时,会被完整显示,也就                         #是说括号也会被显示
运行上述代码的结果:

我的青春恋爱物语果然有问题
2015年
渡航
12集
['比企谷八幡', ['雪之下雪乃', '由比滨结衣', '一色彩羽', '雪之下阳乃', '平塚静']]


如果想要python处理内嵌的列表,需要:

for循环,用于逐项访问;

if...else语句,和isinstance(),用于判断某一列表项是否是一个列表

Anime=['我的青春恋爱物语果然有问题','2015年','渡航','12集',['比企谷八幡',['雪之下雪乃','由比滨结衣','一色彩羽','雪之下阳乃','平塚静']]]#列表可以嵌套列表for each_iteam in Anime:    print(each_iteam)    #当某个列表项为一个列表时,会被完整显示,也就                         #是说括号也会被显示for each_iteam in Anime:    if isinstance(each_iteam,list):    #isinstance()用于判断一个变量是否为某种数据类型。        for nested_iteam in each_iteam:#使用方式为isinstance(变量名,数据类型)            if isinstance(nested_iteam,list):                for deeper_iteam in nested_iteam:                    print(deeper_iteam)            else:print(nested_iteam)        else:print(each_iteam)

上述代码的运行结果为:

我的青春恋爱物语果然有问题
2015年
渡航
12集
比企谷八幡
雪之下雪乃
由比滨结衣
一色彩羽
雪之下阳乃
平塚静


4.使用函数

上一段代码可以通过创建与调用函数来简化。

Anime=['我的青春恋爱物语果然有问题','2015年','渡航','12集',['比企谷八幡',['雪之下雪乃','由比滨结衣','一色彩羽','雪之下阳乃','平塚静']]]def lol(the_list):#定义函数, def 函数名(参数):    for each_iteam in the_list:        if isinstance(each_iteam,list):            lol(each_iteam) #调用自身        else:print(each_iteam)lol(Anime)






原创粉丝点击