列表
列表是python里面最基本的数据结构,列表里的数据不需要具有相同的类型。列表中的每个数字都分配一个数字,第一个是0,第二个是1,这个数字就是它的位置,或者说叫索引。
一、创建列表
比如我要创建一个群组,组里面有五个人,那是不是可以这样呢:
names='zhongxiaotao tanghaolun wanglei dafei yanhuixiong'
可我要怎么取其中的人呢?这要做是没有办法取出来的。而列表可以做到。
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] print(names)
列表使用逗号分隔开不同的数据然后用方括号括起来,如上图所示。
二、访问列表值
如果我要访问列表中的值,该怎么做呢?就像字符串的索引一样,使用列表数据的下标索引。比如我们要查找列表的第3个人是谁:
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] print(names[2])
代码中‘names[]’结构就是用来查询列表中的值,方括号中填入你想要查询值的索引。你也许会问,刚刚不是说查询第3个人吗,怎么代码中的值是2?
你回头看,最上面我们提到过,列表的第一项是从0开始的,所以第三个人就是2.
如果我要访问两个值怎么办?
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] print(names[2],names[3])
只需要在print()里添加就行
如果我要访问第1至3的值怎么办?
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] print(names[1:4])
访问1至3为什么要输入1:4呢,因为列表里的范围区间是顾头不顾尾,也就说,前一项写的是多少就从哪一项开始,后面写的多少就要-1
那如果我要访问倒数3个呢
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] print(names[-3:])
发现没,后一位的值是空,怎么回事?这里就要说一下空的时候的情况。空其实就是无限取的意思。那为什么-3要放前面呢,那是因为我们是从倒数第3个往后数,往后无限取,知道列表取完。-3表示倒数第三个
三、如何新增列表中的值
代码如下:
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] names.append('songyuchen') print(names)
使用append方法,可以直接在列表中最后一项后面添加值。
如果需要制定位置添加值,则需要使用到insert方法。
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] names.insert(1,'songyucheng') print(names)
括号里的1,是要添加的数值的位置,后面则是要添加的数值。
四、如果修改列表中的值
代码如下:
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] names[1]='songyucheng' print(names)
五、如何删除列表中的值
删除有2中方法,一种是remove,一种是del
remove方法:
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] names.remove('tanghaolun') print(names)
remove()括号里加上你要删除的内容即可。
del方法:
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] #names.remove('tanghaolun') del names[1] print(names)
del方法无需知道要删除的内容是什么,只需要记住要删除的位置即可。
这里还有一种pop功能,pop如果没有注明要删除的值,则默认删除列表最后一项,如果注明,则同del
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] #names.remove('tanghaolun') #del names[1] names.pop(1) print(names)
六、如何通过值查出索引
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] print(names.index('tanghaolun'))
index就是索引的意思
七、查询列表内重复的值数量
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] print(names.count('tanghaolun'))
count就是统计的意思
八、如何翻转列表
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] names.reverse() print(names)
九、如何清空列表
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] names.clear() print(names)
十、列表值如何排序
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] names.sort() print(names)
十一、如何合并列表
names=['zhongxiantao','tanghaolun','wanglei','dafei','yanhuixiong'] names2=[1,2,3,4] names.extend(names2) print(names)
十二、如何跳着打印列表
names=['zhongxiantao','tanghaolun',[1,2,3],'wanglei','dafei','yanhuixiong'] print(names[0:-1:2])
0:-1表示打印的数据范围,2表示打印步长为1