*—*—list列表的操作—*—*
一、列表
1.1列表是python的基础数据类型之一,列表的具体表现为以中括号[]括起来,其中的每个元素以逗号隔开,并且它比C语言中的数组强大的地方是可以存放各种数据类型
例:lis = [1,'abc',True,{'name':'天才','age':18},(1,2,'蠢材'),['a','b','c']]
1.2列表相比字符串不仅可以存放各种数据类型,还可以存储大量的数据。列表是有序的,可以进行索引、切片、便于取值。
例如: lis = [1,'abc',True,{'name':'天才','age':18},(1,2,'蠢材'),['a','b','c']]
print(lis[0])
print(lis[1])
print(lis[1:4])
print(lis[::2])
***输出结果***:
1
abc
['abc', True, {'name': '天才', 'age': 18}]
[1, True, (1, 2, '蠢材')]
1.3列表的常用操作(增删改查)
1.3.1 列表的增(append,extend,insert)
append —— 通过append可以向列表的尾部追加单个元素(多个会异常)
例:name = ['小明','小李','小张']
name.append('小王') #往列表中追加一个元素'小王'
print(name)
***输出结果***:
['小明', '小李', '小张', '小王']
extend —— 通过extend可以将另一个集合中的元素逐一添加到列表中(迭代添加)
例: lis1 = ['a','b']
lis2 = ['c','d']
lis1.extend(lis2)
print(lis1)
***输出结果***:
['a','b','c','d']
insert —— insert(index, object) 在指定位置index前插入元素object
例:a = [0,1,3,4]
a.insert(2,2) #在下标为2的索引前插入一个元素2
print(a)
***输出结果***:
[0,1,2,3,4]
1.3.2 列表的删(pop, remove, clear, del)
pop —— 两种用法,第一种默认删除最后一个元素,第二种按索引删除
例: 默认删除末尾元素
a = [1,2,3,4]
a1 = a.pop()
print(a) #打印通过pop方法删除后的列表
print(a1) #打印删除的元素
***输出结果***:
[1, 2, 3]
4
按索引删除:
b = [1,2,3,4]
b1 = b.pop(1) #删除下标为1的元素,此时b = [1,3,4]
b2 = b.pop(2) # 删除下标为2的元素,此时b = [1,3]
print(b) #[1,3]
print(b1) #[2]
print(b2) #[4]
***输出结果***:
[1, 3]
2
4
remove —— 删除列表中匹配对象的第一个元素。无匹配元素时产生异常,返回None。
c = ['大写的人','小写的人','大人','小人']
c.remove('小人')
print(c)
c.remove('小人')
print(c)
***输出结果***:
['大写的人', '小写的人', '大人']
ValueError: list.remove(x): x not in list 异常,列表中无此元素
clear —— 清空列表
d = [1,1,1,1,1,2,2,2,2]
d.clear()
print(d)
***输出结果***:
[]
del —— 在内存级别中删除
按索引删除:
e = ['a','b','c','d']
del e[1]
print(e)
***输出结果***:
['a', 'c', 'd']
按切片删除:
f = ['哈哈哈','呵呵呵','嘻嘻嘻','咿呀咿呀']
del f[:2]
print(f)
***输出结果***:
['嘻嘻嘻', '咿呀咿呀']
1.3.3 列表的改
改有2种方法,第1种根据下标索引找到元素去改,第2种使用切片去改
例:根据索引的改
lis = [1,2,3,4,5]
lis[1] = '改' #将下标为1的元素更改为字符串'改'
print(lis)
***输出结果***:
[1,'改',3,4,5]
根据切片去改:
lis1 = ['a','b','c','d','e']
lis1[1:3] = '哈哈哈' #迭代添加
print(lis1)
lis1[1:3] = ['666','777']
print(lis1)
***输出结果***:
['a', '哈', '哈', '哈', 'd', 'e']
['a', '666', '777', '哈', 'd', 'e']
1.3.4 列表的查
for 循环,列表是可迭代对象,所以可以使用for循环进行查询
例:
s = ['a','b','c']
for i in s: #遍历s中的元素
if i == 'a': #若s中的元素 = 'a'
print('存在')
else:
print('不存在')
其他操作:
sort —— 升序排序,()中加reverse = True则按倒序排序
count —— 查询元素在列表中出现的次数
index —— 根据元素查索引,不存在则报错
in(存在),如果存在那么结果为true,否则为false
not in(不存在),如果不存在那么结果为true,否则false
列表的嵌套:
lis = [1,'tiancai',[2,'a',[3,'c'],'b']
range —— range可以帮助我们获取()中的数据
# range
for i in range(10): # 从0开始. 到10结束
print(i)
for i in range(3, 7): # 从3 开始. 打印到7结束. 不能到7
print(i)
for i in range(3, 10, 2): # 从3 到 10 每2个取一个
print(i)
for i in range(10, -10, -1): #从10 开始到-10结束. 倒着数
print(i)
# 求1-2+3-4...+99-100=?
sum = 0
for i in range(1, 101):
if i % 2 == 0:
sum = sum - i
else:
sum = sum + i
print(sum)