一、列表基础知识
1.定义:列表为将任意元素放在[ ]中间,使用逗号隔开
l0 = []
print(type(l0))
# 创建列表函数,将数字放在中间,用逗号隔开
l0 = [1,2]
print(l0)
2.列表中可以放入任意元素
l0 = [1,2,3.14,"hello world",False,None,[],range(10)] # 列表中可以放入任意元素
print(type(l0))
3.遍历
#遍历
for e in l2:
print(e)
# for i in range(len(l2)):
# print(i,l2(i))
4.索引
列表中的列表的索引值是从第一层列表的索引开始到最后一层列表
l2 = [1,3.14,"hello",False,None,["A","B",["C1","C2"]],range(10)]
print(type(12))
print(l2[5][2][1])
5.可变列表与不可变列表
5.1 我们现在所学的列表都是一个可变列表,用id( ) 查看内存标识
iterable[可迭代的]。
iterable表示可迭代的,即可拆分的,可使用for循环,如:range()/str/list。
print(l1, id(l1))
l1.append(None)
print(l1, id(l1))
# [1, 5, 'ok'] 1543334029504
# [1, 5, 'ok', None] 1543334029504
5.2 在字符串中,不能改变字符串的内容,即在字符串中重新赋值是改变变量指向的内存位置。
s0 = "hello"
print(s0, id(s0))
s0 = "hi"
print(s0, id(s0))
# hello 2686123592880
# hi 2686123593200
6. 其他转换函数
int()/float()/bool()/str()
转换内容: 数字、形式为整数的字符串/数字,字符串/任意类型/任意类型
# 数字 内容为数字的字符串
# int()
# 数字 内容为数字的字符串
# float()
# 任何类型
# bool()
# 任何类型
# str()
# 转换函数:可迭代(可以使用for遍历) 字符串 range list
# list()
二、列表的操作方法
1.向列表添加数据
1.1 添加 append方法
li = ['A', 'B', 'C']
li.append('E') # 一次只能添加一个元素,并且只能在列表最后
print(li)
['A', 'B', 'C', 'E']
1.2 插入 insert方法
比append灵活,指定索引位,注意索引从0开始
li = ['A', 'B', 'C']
li.insert(0, 'M') # 在首位插入M,两个参数
print(li)
['M', 'A', 'B', 'C']
2.删减列表中数据
2.1 pop:默认删除最后一个,并有返回值
r = l0.pop()
print(r, l0)
# 2 [1, 2, 'python', 3, 'hello word', range(0, 5), ['a', 'b', 'c'], 'ok', 3.14, 0, 1]
2.2 remove:删除指定元素;
元素不存在直接报错,不返回内容。
r = l0.remove(3)
print(r, l0)
# None [1, 2, 'python', range(0, 5), ['a', 'b', 'c'], 'ok', 3.14, 0, 1]
2.3 clear:清空列表
l0.clear()
print(l0)
# []
3. 统计次数
l1 = [1, 2, 3, 3, range(5), [3, "b", "c"], "ok"]
4. 找索引:index
找出在列表中的下标索引,可指定开始与结束索引;找不出直接报错。
r = l1.index("ok")
print(r)
# 6
5.逆序列表:reverse
r = l1.reverse()
print(r, l1)
# None ['ok', [3, 'b', 'c'], range(0, 5), 3, 3, 2, 1]
6.排序:sort
l2 = [3, 6, 1, 0, 5]
l3 = [3, 6, 1, 0, 5]
# sort 排序 默认正序
# sort(reverse = True)
l2.sort()
l3.sort(reverse=True)
print(l2)
print(l3)
# [0, 1, 3, 5, 6]
# [6, 5, 3, 1, 0]