python怎么分片列表_Python学习(第二章)

创建列表

这一章我在学习时,感觉很像C语言的数组,感觉很奇妙啊进入笔记模式

>>> number = [1,2,3,4,5,6,7]>>> number[1, 2, 3, 4, 5, 6, 7]

append()

append()的作用是向列表的最后一位添加元素

如;

>>> number = [1,2,3,4,5,6,7]>>> number[1, 2, 3, 4, 5, 6, 7]>>> number.append(0)>>> number[1, 2, 3, 4, 5, 6, 7, 0]

注;看见连接符了吗,就是那个“.”,我在第一章里提到过哦,这里详解一下,可以理解为{范围}append()这个方法是属于number的列表对象的。

细心地同学可能会想到如果我加入两个元素,append还可以使用吗,看程序给的回答。

>>> number.append(1,2)Traceback (most recent call last):File "", line 1, in TypeError: append() takes exactly one argument (2 given)>>>

妈呀,报错了,这时候应该下一位选手上场了,咱没有那金刚钻,不揽瓷器活,就这样extend上场了

extend()

extend 的作用是向列表后添加多个元素

如下

>>> number.extend([1,2])>>> number[1, 2, 3, 4, 5, 6, 7, 0, 1, 2]

注;发现不同之处了吗,为什么append里没有中括号,而extend里面有呢?解答;这里因为列表里添加多个元素,可以看做以原有的列表,去在申请一个列表进行拼接

如下

number = [1,2,3,4]extend的列表 = [5,6,7,8]拼接给numbernumber = [1,2,3,4,5,6,7,8]

那么想在任意位置插入元素怎么办。

insert上场

insert()

insert的作用是在指定的位置插入元素

如;

>>> number[1, 2, 3, 4, 5, 6, 7, 0, 1, 2]>>> number.insert(2,3)>>> number[1, 2, 3, 3, 4, 5, 6, 7, 0, 1, 2]

insert(   ,)第一个参数代表着元素的位置,第二个参数代表着要插入的元素(突然有点害羞,我想我在开车),前面的文章说过Python的顺序索引是从0开始数的,这里不水啊。

那么我想查看列表里的某个元素怎么办

答;好问题,天钧不愧是玉树临风,风流倜傥........

咳咳,想查看列表里的某个元素,那好办直接索引

看例子

>>> name = ['天钧','老五','乌木','老三']>>> name['天钧', '老五', '乌木', '老三']>>> name[0]'天钧'>>> name[2]'乌木'

懂了吗(好想开大货车,带着一腔梦想去,喂牧羊犬)

问;如何从列表里删除元素呢

陷入沉思,从列表里删除元素,我的认知里有三种方法,分别为

pop()

remove()

del

来咱们先介绍第一位选手pop()。

pop()

pop作用是默认弹出列表里的最后一位元素

如下;

>>> name.pop()'老三'>>> name['天钧', '老五', '乌木']

有趣的是,它在弹出最后一位 元素时,还会找你确认一下,但是只是让你了解它刚刚把谁弹出去了。[可怜了我们工作室的老三]

那想把老五也弹出去怎么办

>>> name['天钧', '老五', '乌木']>>> name.pop(1)'老五'>>> name['天钧', '乌木']

pop的人生格言:pop里带索引,我不爽谁我踢谁

下一位选手是del大家对它很熟悉吧

del

del的作用,直接删除列表

这是我见过最狂的,那刚刚抛弃的number试试。

>>> del number>>> numberTraceback (most recent call last):File "", line 1, in NameError: name 'number' is not defined

注意,它不是个列表方法,是个语句没有小点点。

好了,number滚蛋了[有点爽]

这时如果想用del删除指定元素,可不可以呢?

答案是完全可以

>>> del name[1]>>> name['天钧']

你能找出少了哪位同学吗。

下一位是谁呢,前面我已经剧透过了,remove()选手闪亮登场。

remove

作用:删除已知的元素,不能删除指定某个位置的元素

如,先向name里添加点元素,陪陪我。

>>> name.extend(['wocao',666,'好强'])>>> name['天钧', 'wocao', 666, '好强']>>> name.remove(666)>>> name['天钧', 'wocao', '好强']

注意,数字可以不用加英文状态下的引号,刚刚犯了个小错误。

列表分片

开始与结束

怎么一次获得两个元素呢?

答;切它,那怎么切呢,如下

>>> name['天钧', 'wocao', '好强']>>> name[1:2]['wocao']>>> name[0:2]['天钧', 'wocao']

找不同喽,细心的同学发现,第一次的为什么只返回了['wocao']呢,第二次为什么返回了两个值。

那就先要看看列表切片的方式了name[第一个参数:第二个参数]中间以英文状态下的冒号分割,以第一个参数为起点,以第二个元素为重点但是不包含第二个参数

如果没有开始位置怎么办

>>> name[0:2]['天钧', 'wocao']>>> name[:2]['天钧', 'wocao']

答;没有的话,Python只能从0开始给你数了,看来Python为了你操碎了心。

不过,我还能玩。

>>> name[:2]['天钧', 'wocao']>>> name[1:]['wocao', '好强']>>> name[:]['天钧', 'wocao', '好强']>>> name['天钧', 'wocao', '好强']

发现什么了,不妨笔记上记录自己的心得哦。

切片的进阶玩法

玩就要玩个痛快,进阶一下,玩斯它ψ(*`ー´)ψ

切片只能有两个参数吗,不不不[PS:第三个参数:“乃个孙子叫我”],他有第三个参数哦,阿秋~~(ps;你们谁看见谁骂我了),看例子

>>> number = [1,2,3,4,5,6,7,8,9] ps;我又回来了>>> number[1, 2, 3, 4, 5, 6, 7, 8, 9]>>> number[0:2:2][1]>>> number[0:7:2][1, 3, 5, 7]

第三个参数有个名字叫做步长,前面提到,第一个参数是起步,第二个参数是结尾,第三个参数就是步长,步长是什么,就是等差的一个方法,从1开始的话,一共10个数,步长是2的话,那么是什么样子的呢?

>>> number[1, 2, 3, 4, 5, 6, 7, 8, 9]>>> number.append(0)>>> number[0:10:2][1, 3, 5, 7, 9]

这样的!!!!

你懂了吗

常用操作符在列表里的姿势

>>> list1 = [123]>>> list2 = [456]>>> list1 < list2True>>> list1 > list2False

有人会疑问了,Python是怎么去比较两个列表的呢,答案是从第一个元素开始,比较,谁大谁赢,如下

>>> list1.append(456)>>> list2.append(123)>>> list1[123, 456]>>> list2[456, 123]>>> list1>list2False>>> list1 < list2True

那数字这样玩那字符串怎么玩啊

马上继续

字符串玩法介绍

拼接玩法>>> char1 = ['wocao']>>> scring = ['666']>>> char1 + scring['wocao', '666']

那让它复读机呢,*它

>>> scring * 3['666', '666', '666']

如何查看元素是否在列表里呢

答案是,看下面,in和not in上场了

>>>name['天钧', 'wocao', '好强']>>>'wocao'in nameTrue>>>'wocao' not in nameFalse

index()

查询参数在列表的位置

看例子

>>> name.index('wocao')1

count()

查询同一元素在列表里出现的次数

>>> number[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]>>> number.extend([1,2,1,1,1,2])>>> number[1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 1, 1, 1, 2]>>> number.count(1)5

reverse()

反向排列

>>> number[1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 1, 1, 1, 2]>>> number.reverse()>>> number[2, 1, 1, 1, 2, 1, 0, 9, 8, 7, 6, 5, 4, 3, 2, 1]

sort()

排序

题外话:说实话,有点累了,主要是饿了,快8点了,写完文章,还要自己去做饭,很烦,所以文章到这里未免有点枯燥,(对不起,超小声bb)

看例子!!!

>>> number[2, 1, 1, 1, 2, 1, 0, 9, 8, 7, 6, 5, 4, 3, 2, 1]>>> number.sort()>>> number[0, 1, 1, 1, 1, 1, 2, 2, 2, 3, 4, 5, 6, 7, 8, 9]>>> number.reverse()>>> number[9, 8, 7, 6, 5, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 0]

天钧在这里还给倒过来了,是不是很有意思呢?

切片的补充

看例子

>>> apple = [1,2,3,4,5,6]>>> banana = apple[:]>>> banana[1, 2, 3, 4, 5, 6]>>> monkey = apple>>> monkey[1, 2, 3, 4, 5, 6]

看似都一样的对吧,其实不一样。

>>> apple.reverse()>>> apple[6, 5, 4, 3, 2, 1]>>> banana[1, 2, 3, 4, 5, 6]>>> monkey[6, 5, 4, 3, 2, 1]

monkey居然随着apple的变化而变化,实力捕捉墙头草。其实这个解释起来就是,banana拿到的是apple的值,而monkey拿到的是apple,发现不同了吗,嘿嘿嘿,今天的笔记都到这里了哦,告辞。

对了,多多收藏哦,您的支持才是我们持之以恒的动力,希望帮忙宣传,新开公众号求关注[小声bb,下一篇是《元组》!!!]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值