列表类型的内置方法
类型转换
列表的类型转换可以转换很多类型,可以作为for对象的数据类型,都可以转换成列表类型。
print(list('oliver')) # 获取字符串里的每一个字符作为元素,生成一个列表
print(list({'name': 'oliver', 'hobby': 'music'})) # 只能获取key键作为元素,生成一个列表
print(list((11,22,33,44,55))) # 获取元组里的每一个元素,作为元素生成列表
print(list({1, 2, 3, 4, 5})) # 获取集合里的每一个元素,生成列表
print(list(True))
其他操作
索引取值
切片操作
list_name = ['oliver', 'age', 'hobby', '16']
# 切片操作(前两个参数确定取元素的始末位置,第三个确定方向)
print(list_name[1:3]) # 从左向右,两个参数是切片的起止位置,左闭右开
print(list_name[-3:-1]) # 从左向右,位置最末位为-1,然后从-3到-1切片,左闭右开
print(list_name[-1:-3:-1]) # 位置最末位为-1,然后从-1到-3反向切片,左开右闭。第三个参数控制切片方向
步长
list_name = ['oliver', 'age', 'hobby', '16']
print(list_name[1:3:1]) # 从第二个元素到(不包括)第四个元素,不间隔取
print(list_name[-3:-1:1]) # 从第二个元素到(不包括)第四个元素,不间隔取
print(list_name[1:3:2]) # 从第二个元素到(不包括)第四个元素,间隔一个取一个
测量列表中元素的个数:len()
list_name = ['oliver', 'age', 'hobby', '16']
print(len(list_name)) # 测量列表中元素的个数
成员运算
list_name = ['oliver', 'age', 'hobby', '16']
print('oliver' in list_name) # 最小的判断元素是列表的元素
print('jackie' in list_name) # 判断该数据是否在列表里
尾部追加元素:append()、insert()
- 单个元素:append()
list_name = ['oliver', 'age', 'hobby', '16']
list_name.append('jackie')
print(list_name)
- 指定位置插入元素:insert()
list_name = ['oliver', 'age', 'hobby', '16']
list_name.insert(2, 'kitty') # 在列表索引值为2 的位置加上’kitty‘
print(list_name)
合并列表:+
合并或者extend()合并
+
合并
list_name = ['oliver', 'age', 'hobby', '16']
list_name_add = ['kevin', 'justin', 'biber', 'faker']
print(list_name + list_name_add) # 将list_name_add合并在list_name后面
- extend()合并
list_name = ['oliver', 'age', 'hobby', '16']
list_name_add = ['kevin', 'justin', 'biber', 'faker']
print(list_name.extend(list_name_add)) # 在原有的列表里进行更改,并没有生成新文件
print(list_name)
删除元素:del、remove()、pop()
- 删除指定位置的元素:del
list_name = ['oliver', 'age', 'hobby', '16']
del list_name[3] # 删除索引值为3的元素
print(list_name)
- 直接删除某个元素:remove()
list_name = ['oliver', 'age', 'hobby', '16']
list_name.remove('age') # 直接删除'age'这个字符串
print(list_name)
- 延迟删除(弹出):先把要删除的元素取出来,如果要用的话,这个要删除的元素还可以访问,关键字pop()
list_name = ['oliver', 'age', 'hobby', '16']
print(list_name.pop(3)) # 默认为尾部弹出,pop关键字括号里的值是根据索引值弹出,这是生成弹出的那个元素
print(list_name) # 生成弹出元素后的列表
修改列表元素
list_name = ['oliver', 'age', 'hobby', '16']
print(id(list_name)) # 访问列表的第一个元素地址
list_name[0] = 'barkie' # 修改第一个元素的数据为'barkie'
print(id(list_name)) # 访问列表的第一个元素地址
print(list_name)
注:两次输出的id地址是一样的,说明这个列表元素的更改是在列表内部进行的,并没有产生新的地址,也就是说没有返回新数据
列表元素排序:sort()
num_list = [22, 33, 11, 44, 66, 55]
num_list.sort() # 默认是升序
print(num_list)
num_list.sort(reverse=True) #列表内用reverse关键字来完成降序
print(num_list)
元素翻转:将元素的排列顺序反过来
list_name = ['oliver', 'age', 'hobby', '16']
list_name.reverse() # 前后颠倒
print(list_name)
比较运算:其实列表之间的比较只比较第一个对应元素的大小
num_list1 = [33, 44, 55]
num_list2 = [22, 2, 4, 5, 6, 7]
print(num_list1 > num_list2) # 结果为布尔值
print(num_list1 < num_list2)
word_list = ['A', 'B', 'C']
word_list_ano = ['a', 'b']
print(word_list > word_list_ano)
print(word_list < word_list_ano)
统计列表内元素出现的个数:count()
num_list = ['oliver', 22, 33, 'oliver', 55, 22, 'oliver', 66, 77, 99, 11, 22, 44, 33, 55, 77, 77, 88, 44, 33, 22]
print(num_list.count(oliver)) # 统计某元素在列表列出现的字数
清空列表:clear()
num_list = ['oliver', 22, 33, 'oliver', 55, 22, 'oliver', 66, 77, 99, 11, 22, 44, 33, 55, 77, 77, 88, 44, 33, 22]
num_list.clear() # 清空列表里的所有元素
print(num_list)