前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python学习(第二章)

Python学习(第二章)

作者头像
天钧
发布2019-07-26 16:20:04
3720
发布2019-07-26 16:20:04
举报
文章被收录于专栏:渗透云笔记渗透云笔记

列表

创建列表

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

代码语言:javascript
复制
>>> number = [1,2,3,4,5,6,7]
>>> number
[1, 2, 3, 4, 5, 6, 7]

append()

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

如;

代码语言:javascript
复制
>>> 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还可以使用吗,看程序给的回答。

代码语言:javascript
复制
>>> number.append(1,2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: append() takes exactly one argument (2 given)
>>>

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

extend()

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

如下

代码语言:javascript
复制
>>> number.extend([1,2])
>>> number
[1, 2, 3, 4, 5, 6, 7, 0, 1, 2]

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

如下

代码语言:javascript
复制
number = [1,2,3,4]
extend的列表 = [5,6,7,8]
拼接给number
number = [1,2,3,4,5,6,7,8]

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

insert上场

insert()

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

如;

代码语言:javascript
复制
>>> 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开始数的,这里不水啊。

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

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

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

看例子

代码语言:javascript
复制
>>> name = ['天钧','老五','乌木','老三']
>>> name
['天钧', '老五', '乌木', '老三']
>>> name[0]
'天钧'
>>> name[2]
'乌木'

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

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

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

pop()

remove()

del

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

pop()

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

如下;

代码语言:javascript
复制
>>> name.pop()
'老三'
>>> name
['天钧', '老五', '乌木']

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

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

代码语言:javascript
复制
>>> name
['天钧', '老五', '乌木']
>>> name.pop(1)
'老五'
>>> name
['天钧', '乌木']

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

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

del

del的作用,直接删除列表

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

代码语言:javascript
复制
>>> del number
>>> number
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'number' is not defined

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

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

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

答案是完全可以

代码语言:javascript
复制
>>> del name[1]
>>> name
['天钧']

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

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

remove

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

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

代码语言:javascript
复制
>>> name.extend(['wocao',666,'好强'])
>>> name
['天钧', 'wocao', 666, '好强']
>>> name.remove(666)
>>> name
['天钧', 'wocao', '好强']

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

列表分片

开始与结束

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

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

代码语言:javascript
复制
>>> name
['天钧', 'wocao', '好强']
>>> name[1:2]
['wocao']
>>> name[0:2]
['天钧', 'wocao']

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

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

如果没有开始位置怎么办

代码语言:javascript
复制
>>> name[0:2]
['天钧', 'wocao']
>>> name[:2]
['天钧', 'wocao']

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

不过,我还能玩。

代码语言:javascript
复制
>>> name[:2]
['天钧', 'wocao']
>>> name[1:]
['wocao', '好强']
>>> name[:]
['天钧', 'wocao', '好强']
>>> name
['天钧', 'wocao', '好强']

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

切片的进阶玩法

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

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

代码语言:javascript
复制
>>> 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的话,那么是什么样子的呢?

代码语言:javascript
复制
>>> number
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> number.append(0)
>>> number[0:10:2]
[1, 3, 5, 7, 9]

这样的!!!!

你懂了吗

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

代码语言:javascript
复制
>>> list1 = [123]
>>> list2 = [456]
>>> list1 < list2
True
>>> list1 > list2
False

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

代码语言:javascript
复制
>>> list1.append(456)
>>> list2.append(123)
>>> list1
[123, 456]
>>> list2
[456, 123]
>>> list1>list2
False
>>> list1 < list2
True

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

马上继续

字符串玩法介绍

代码语言:javascript
复制
拼接玩法
>>> char1 = ['wocao']
>>> scring = ['666']
>>> char1 + scring
['wocao', '666']

那让它复读机呢,*它

代码语言:javascript
复制
>>> scring * 3
['666', '666', '666']

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

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

代码语言:javascript
复制
>>> name
['天钧', 'wocao', '好强']
>>> 'wocao'in name
True
>>> 'wocao' not in name
False

index()

查询参数在列表的位置

看例子

代码语言:javascript
复制
>>> name.index('wocao')
1

count()

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

代码语言:javascript
复制
>>> 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()

反向排列

代码语言:javascript
复制
>>> 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)

看例子!!!

代码语言:javascript
复制
>>> 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]

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

切片的补充

看例子

代码语言:javascript
复制
>>> 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]

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

代码语言:javascript
复制
>>> 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,发现不同了吗,嘿嘿嘿,今天的笔记都到这里了哦,告辞。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 渗透云笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档