列表
2.列表的基本操作有:
list1*5
: 列表乘以数字生成重复的新列表,
并不会修改list1
的值
item in list1
: 返回元素item
是否在列表list1
中用于迭代,并不会修改
list1
的值:for item in list1:
pass
- 列表解析:
[item*4 for item in iter_obj]
list()
函数:list(iter_obj)
生成新列表索引和分片:
list1[index]
:索引,获取指定偏移处的对象,
并不会修改list1
的值- 当索引位于赋值左侧时,则是索引赋值。这会改变列表指定项的内容。修改
list1
的值 当分片位于赋值左侧时,则是分片赋值。这会改变列表指定片段的内容。
修改list1
的值
3.列表的方法调用有:
.append(val)
方法:在列表之后追加元素,原地修改.sort(key=None, reverse=False)
方法:对列表进行排序,
原地修改key
为一个排序方法reverse
为是否逆序
.reverse()
方法:原地翻转列表,原地修改.extend(iter_obj)
方法:在列表末端插入多个元素,原地修改.pop()
方法:删除末尾元素并返回该元素,原地修改del list1[0]
函数:删除指定位置处元素,原地修改del list1[index1:index2]
函数:删除指定片断处元素, 原地修改.remove(val)
:通过值删除元素,若有多个值,则只删除第一个遇到的值 原地修改- :在指定位置插入元素,原地修改
.index(val)
:返回指定元素的位置,若有多个值,则只返回第一个遇到的值所在位置
4.列表相关的内置函数:
sorted(list1,key=None,reverse=False)
:排序列表并返回新列表, 非原地修改reversed(list1)
:返回迭代器,该迭代器迭代结果就是列表的逆序
6.列表解析表达式:通过对可迭代对象迭代生成的项运行一个表达式的方式创建一个新列表。如:[c*2 for c in "apple"]
7.list(iter_obj)
可以通过可迭代对象iter_obj
生成一个新列表
8.假设L=[1,2]
,注意下面的用法的区别:
X=L*2
:列表乘以整数,生成新列表[1,2,1,2]
Y=[L]*2
:也是列表乘以整数,但是被乘列表是[[1,2],]
,
生成的新列表是[[1,2],[1,2],]