一、格式
变量名 = [值1, 值2, 值3]
列表
二、初始化
# 初始化一个空列表
listEx = []
# 初始化一个都为整型的列表
listEx = [1, 2, ,3, 4, 5]
# 初始化连续的数字 [5, 6, 7, 8, 9]
listEx = [n for n in range(5, 10)]
# 初始化n个相同值的列表 [1, 1, 1, 1, 1]
listEx = [1 for n in range(5)] #第一种
listEx = [1] * 5 #第二种
三、列表的操作
listEx = [1, 2, 3]
1、列表中增加值/修改值
#插入指定值的后面,如果列表中有多个指定的值,则会插入在一个指定值的后面
listEx.insert(2, 'bob')
#追加在列表的最后面 [1, 2, 3, 'bob']
listEx.append('bob')
#追加多个值 [1, 2, 3, 'joe', 'hode']
listEx.extend(['joe', 'hode'])
#修改索引2的值
listEx[2] = '2333'
一些意外的写法
listEx.append(['bob', 'joe'])
得到的是[1, 2, 3, ['bob', 'joe']]
listEx.extend('bob')
得到的是[1, 2, 3, 'b', 'o', 'b']
2、列表中删除值
#删除指定的值
listEx.remove(2) #删除的列表中第一个值为2的
#删除从1到2位置的值
del listEx[1:2]
3、列表截取与拼接
截取值的写法列表[索引1:索引3]
, 会截取索引1(包括1)到索引3(不包括)之间的值
listEx = [10, 20, 30, 40, 50, 60, 70]
print(listEx[1:5]) # 正常索引值截取
# [20, 30, 40, 50]
print(listEx[1:-1]) # 负数索引值截取
# [20, 30, 40, 50, 60]
列表截取可以传入第三个值
listEx = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(listEx[1:6:3])
# [2, 5]
解释:截取索引1到索引6的值为
2, 3, 4, 5, 6
,第三个参数是3,就是每间隔3个取一个就是2, 5
列表的拼接操作
listEx = [1, 2, 3]
listEx += [4, 5, 6]
print(listEx)
# [1, 2, 3, 4, 5, 6]
4、列表的排序
1. sorted() 临时排序
num_list = [6, 3, 5, 1, 2, 4, 6, 9]
print(sorted(num_list))
#输出 [1, 2, 3, 4, 5, 6, 6, 9]
2.永久性排序
num_list = [6, 3, 5, 1, 2, 4, 6, 9]
num_list.sort()
print(num_list)
#输出 [1, 2, 3, 4, 5, 6, 6, 9]
num_list.sort(reverse=True)
print(num_list)
#输出 [9, 6, 6, 5, 4, 3, 2, 1]
# 二维列表排序
def sortSecond(item):
return item[1]
num_list = [[1,2], [3,4], [2,3], [5,9]]
num_list.sort(key=sortSecond)
print(num_list)
# [[1, 2], [2, 3], [3, 4], [5, 9]]
3.永久性翻转列表顺序
num_list = [6, 3, 5, 1, 2, 4, 6, 9]
num_list.reverse()
print(num_list)
#输出 [9, 6, 4, 2, 1, 5, 3, 6]
5、列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
Python表达式 | 结果 | 描述 |
---|---|---|
len([1,2,3]) | 3 | 长度 |
[1,2,3]+[4,5,6] | [1,2,3,4,5,6] | 组合 |
[‘Hi!’] * 4 | [‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
for x in [1, 2, 3]: print(x, end=” “) | 1 2 3 | 迭代 |
四、列表的函数&方法
1、函数[上面有些用到过]
函数 | 描述 |
---|---|
len(list) | 列表元素的个数 |
max(list) | 返回列表元素最大值 |
min(list) | 返回列表元素最小值 |
list(seq) | 将元组转换为列表 |
2、列表方法
方法 | 描述 |
---|---|
list.append(obj) | 在列表末尾添加新的对象 |
list.count(obj) | 统计某个元素在列表中出现的次数 |
list.extend(seq) | 在列表末尾一次性追加另一个序列中的多个值 |
list.index(obj) | 在列表中找出某个值第一个匹配项的索引位置 |
list.insert(index, obj) | 将对象插入到index的后面 |
list.pop(index=-1) | 移除列表中的一个元素(默认是最后一个元素),并且返回该元素的值 |
list.remove(obj) | 移除列表中的某个值得第一个匹配项 |
list.reverse() | 反向列表中的元素 |
list.sort(key=None, reverse=False) | 对原列表进行排序 |
list.clear() | 清空列表 |
list.copy() | 复制列表 |
五、列表注意
1、列表赋值
foods = ['pizza', 'falafel']
my_foods = foods
foods.append('ice cream')
print(my_foods)
#输出 ['pizza', 'falafel', 'ice cream']
foods = ['pizza', 'falafel']
my_foods = foods[:]
foods.append('ice cream')
print(my_foods)
#输出 ['pizza', 'falafel']
2、列表在作为函数参数入参时注意的
def test(param_list):
param_list.append(1)
param_list.append(2)
# 1、对列表操作会改变之前列表
param_1 = []
test(param_1)
print(param_1)
#输出 [1,2]
# 2、对列表操作不会改变之前的列表
param_2 = []
test(param_2[:])
print(param_2)
#输出 []
【注】写的不对的欢迎留言提醒
转载请注明:XAMPP中文组官网 » [python基础学习]03数据类型列表详细