用户:绝命徒神探查看:0 回复:7 评论:0 创建时间:2019-01-30T19:35:18
雷猴!这里是绝命!
今天会给大家带来一期Python的教程,吼不吼?
好了我们不胡扯了(哪里胡扯了),让我们进入正题吧!
好了我们今天讲列表。
好,第一个问题,列表是什么?(现实)
列表,你可以把它想象成一个多层抽屉,当你要用第一层时,打开第一层……以此类推,还可以根据自身的需要增加或者删除列表。
Python中的列表十分的强大,它就像是数组的一个增强版,可以将一堆乱七八糟的数据全部丢进去,它也不会拒绝,一视同仁。
创建列表十分的简单,跟给变量赋值一样:
number=[1,2,3,4,5,6]
484很简单?但是说列表的强大,在这个列表里好像没有体现到,所以:
number1=[1,"哲学",3.14,[1,2,3],"萌新院"]
看,什么数据都能往列表里扔,什么?还可以在列表里面装列表?
是的,你没看错。
而且,你还可以创建一个空列表:
tb=[]
什么?你觉得这还不够?
对呀你刚刚明明说了,列表可以增加元素还可以删除元素,你怎么不说呀?
emmm,我正准备说。
列表内容肯定不能固定,所以我们会更新列表,这时就会用到append()方法:
acb=[1,2,3,4]
acb.append("爱编程")
运行结果:
看到了吗?不过,这个方法的调用怎么跟平时BIF调用的方法不一样?这是因为append()不是一个BIF,他是属于列表对象的一个方法。中间的这个“.”其实可以理解为范围的意思。
我们再将5和6加进去试试。
咦,这次为什么报错了呢?看来是append()这个方法不能同时增加好几个元素,这个时候,我们可以用extend()方法:
abc.extend([5,6])
print(abc)
结果:
看,这次成功了,但是有一点需要注意——
extend()这个方法的参数必须要是一个列表,不然就会报错:
是不是?
但是这样做仍然有一个问题——它只能往列表末尾添加元素,如果我想插入到其他位置呢?我们还有一个方法——insert()
我们来试一下:
abc.insert(1,"新朝暮里")
结果:
等等,不是说好了插入第一个位置吗?怎么跑到第二的位置去了?
其实各大编程语言后,都有一个规定,那就是——凡是顺序索引,均从0开始。
我们可以再试一试:
abc.insertr(0,"三体")
结果:
看,这次成功了。
有童鞋还会问:“如果我想从列表中获取元素怎么办?”没事,我们可以利用列表的引索值(从0开始):
st=["叶文洁","罗辑","程心","刘慈欣"]
st[1]
还可以让元素的位置互调:
st[0],st[3]=st[3],st[0]
st
我们再来讲解从列表中删除元素,有三种方法,分别是:remove(),del和pop(),先演示remove()方法:
st.remove("刘慈欣")
st
使用这个方法,你只需要知道元素存在与列表之中就行了,如果元素不存在与列表,就会报错:
而用del可以删除某个特定地方的元素:
del st[1]
st
但是要知道,这个del后面并没有括号,这说明它不是一个方法,而是一个语句,如果你想删除掉这整个列表,那你就可以直接用del加列表名删除。
del st
最后,用pop()方法是特定元素蹦出来:
name=["刘慈欣","王晋康","何夕","三体"]
name.pop(3)
【···列表分片···】
列表分片又是一个是么东西呢?列表分片(slice)可以方便地一次性获取多个元素:
name=["Python","C语言","Java","C++"]
name[0:2]
484很简单?
但是,列表分片这种操作,在Python里面也是可以简写的!
name[:1]
如果没有开始位置的话,Python会默认为0.如果要得到列表末尾的所有元素,只需要去掉结束位置。如果没有引索值,只有冒号的话,我们会的到整个列表的拷贝。
列表分片,就是原列表副本。
其实列表分片还可以接受第三个参数,代表着步长,不指定它的值的时候,默认值为1.我们现在试验一下,将它改成2:
如果把步长改为2,那么每前进两个元素才取一个出来。还可以写成
number[::2]
如果将其改成负数,会怎样呢?
看,484很牛(和谐)?如果步长为-1,就是将一个列表倒置过来。
本期结束了,88.
imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E5%8E%89%E5%AE%B3%E4%BA%86.gif"alt="emotion_编程猫_厉害了"
点赞0
评论