列表相当于其他语言的数组
一、列表的创建:
1、使用中括号
跟其他语言不太一样,python里面的列表好像可以存储任何类型的元素,混合在一起也可以
2、使用内置函数list
获取单个元素的值,直接引用对应下标
python里不仅有正索引还有负索引
0 1 2 3
s1111 hello 98 9.7
-4 -3 -2 -1
看如下例子:
列表是根据需要动态分配和回收内存的,不用担心够不够;不像其他语言还有预先分配大小
二、列表的查询 *** 作
1、获取指定元素的索引值list.index()
若存在相同元素,则返回第一个元素的索引值
index('string',num1,num2) #在指定区间num1-num2中查找string
查找不存在的元素,会抛出valueError
2、获取列表中的单个元素
可以用正索引。
也可以用逆索引
正索引范围 0-N-1
负索引范围 -N - -1
3、获取列表中的多个元素
语法格式 list[start:stop:step] #step默认为1 start为0 stop为最后一个元素
这种叫切片 *** 作 切出来的是一个新的列表
step可以为负数,当step为负数时,获取的第一个元素为列表中的最后一个元素,可以理解为从start开始向左获取元素
4、判断一个元素在列表中是否存在
使用 in not in
5、循环遍历列表
三、列表的增加
1、list.append() #在列表的末尾添加一个元素,是在原列表中添加的元素,没有新建列表
2、list.extend() #在列表末尾至少添加一个元素
例子:可以看到用append,是将temp作为一个元素添加到num末尾的
下面用extend试一下:
可以看到 末尾添加了多个元素
3、List.insert() #在列表的指定位置添加一个元素
4、切片 *** 作
看下这个程序,相当于 我们把num列表中除了第一个元素全部切掉了。
替换成了temp
这个 *** 作我觉得可以看成字符串拼接
四、列表的删除 *** 作
1、remove()
删除指定内容
如果有重复元素,只移除第一个
2、pop()
删除指定位置的元素。
如果不指定索引,默认删除最后一个元素
3、 切片
可以看到我们删除了除第1,2位置的其他元素;通过打印可以看到原列表没有变,而是产生了新的列表。
如果我们想改变原列表呢?可以进行如下 *** 作:
意思是除了1.2位置的元素,其他元素我们全部赋为空
4、clear()
清空列表
5、del()
删除列表
五、列表的修改 *** 作
1、为指定索引的元素赋新值,与其他语言的赋值一样
2、为多个元素赋值
六 、列表元素的排序
1、sort() :默认将列表中的元素从小到大排序(在原列表的基础上进行排序),字符也可以排序,太强大了
不支持数字字符串混合排序哦~
可以指定关键字参数,指定列表中元素进行降序排序 reverse=True
2、sorted() 内置函数
排序后将产生新的列表对象
也可以使用关键字 reverse=True实现降序排序
七、列表生成式
[i*i for i in range(1,10)]
这个 i*i只是一个例子,你这里写的什么,就会在最终的列表中以什么样i的形式存储
举个例子
可以看到我们是把随机产生的1-10的数组,将每个元素以次方的形式存到列表中
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)