列表 list
由中括号括起来,元素之间用逗号,隔开,元素可以是数字、字符串、列表、布尔值等等,所有类型都可以是list的元素。list列表是一个集合,内部可以放任何东西,可以通过索引、切片取值。
- 索引取出的是元素 list[i]
切片取出的是列表list[1:3] - list创建好是可以修改的(增删改元素),因为list的实现是链表(非连续内存),字符串创建后不可修改的原因是字符串使用的是连续内存,也就是数组实现的。可以通过索引、切片的形式去修改元素。
- 可以类似于C语言多维数组取值的方式取值
li = [1, "234", ["h23", 2], 2] print(li[2][0][0])
- list() 转为列表,转为列表时,内部是通过对目标进行for循环迭代取值实现的,所以要转为列表必须是可迭代的iterable,int类型就不能转为列表。
string = "hello" li = list(string) print(li) print(type(li))
- 列表转为字符串
#列表中只有字符串 – "".join(list) li = ['1', 'e', 'd'] st = "".join(li) print(st) print(type(st)) #列表中有数字和字符串 – for循环实现
- append() 追加,无返回值None
- clear() 清空列表,返回值None
- copy() 复制列表,返回拷贝的列表 – 浅拷贝
- count() 统计元素个数,并返回个数
- extend() 扩展列表,必须是可迭代对象iterabl(内部通过for循环实现),与append区别
- index() 返回某个元素的索引,从前往后找,返回第一个匹配的元素的索引
- insert() 在指定索引位置插入元素,不指定默认头插
- pop() 删除并返回一个元素,可以通过索引指定要删除的元素,不指定则默认尾删。按index删
- remove() 删除列表中的指定值,按value删
- reverse() 反转
- sort() 排序
元组 tuple
( )括起来的,元素可以是各种类型,tu = (111, 222, 333,)。一般在元组最后一个位置,也就是右括号)前加一个逗号,来表示和方法区分。元组的元素是不能修改的。
- list是有序的,元素可以修改删除增加;
tuple也是有序的,元素不可修改,不能增加或删除; - 有序,可通过index取值
- 元组的一级元素不可修改,如果元组有一个元素是list,那么list的元素(二级元素)可以修改,因为我们修改的就是list的元素了。
- 元组也可以通过索引、切片来取值,可以通过for循环迭代取值,是一种可迭代对象iterable
- tuple() 转换为元组,也是通过for循环实现
- count() 获取元素出现次数
- index() 获取元素的索引