python 3 基础之列表和列表添加元素、修改元素、查找元素、删除元素、排序、嵌套、取最值
列表(与字符串相似,字符串用引号,而列表用中括号和逗号、引号,列表中可以保存多种数据类型)
# 定义一个列表,格式:列表名=[元素1,元素2.元素3.......]
列表使用与字符串的索引编号一致,如从右到左
my_list = []#定义一个空列表my_list
添加元素(append,extend,insert)
字符串不可变,而列表是可变的(如对当前的列表进行操作,是在原有的列表进行更改)
append:在列表原来元素后面添加元素
my_list = [1,3,3]
my_list.append(5)#把5当做一个新的元素加进原来的列表中
print(my_list)#原来的列表改变了,多了一个元素5
extend:添加一个可以遍历的对象(有序的字符序列)
my_list = [1,3,3]
my_list.extend([8,9])#extend会把对象进行拆分分解成最小的单元,再加进列表
print(my_list)
insert 往指定的位置添加一个对象
my_list = [1,3,3]
my_list.insert(2,5)#insert(self,index,object)其中self 是默认的,index是下标索引,object添加什么
#这句意思是往索引为2的位置添加一个元素5
print(my_list)
修改元素(拿到下标,把新的值赋予原有值)
my_list = [1,3,'hello','肯定']
my_list[1] = 'dlkj多斯拉克'#把索引位置为1的元素原有值修改为dlkj多斯拉克
print(my_list)
查找元素(in、not in、index、count)
用in判断一个元素是否存在列表中
my_list = ['张飞','吕布','关羽','老板',2376]
if '张飞' in my_list:#判断张飞是否在列表中
print(True)
使用not in 判断一个元素不存在列表中
my_list = [1,3,'hello','肯定']
if '刘邦' not in my_list:
print('刘邦不在列表中')
index 通过index获取某个元素在列表中下标索引(没有则报错)
my_list = [1,3,'hello','肯定',400]
ret = my_list.index(400)
print(ret)
count 查找某个元素的值在列表中出现的次数
my_list = [1,3,'hello','肯定',400]
ret = my_list.count(400)
print(ret)
查询400,若有返回 下标索引,没有则什么也不做
1、使用count完成
my_list = [1,3,'hello','肯定',400]
count = my_list.count(400)
if count > 0:
print(my_list.index(400))
2、使用in完成
my_list = [1,3,'hello','肯定',400]
if 400 in my_list:
print(my_list.index(400))
删除元素(del、pop、remove)
del
del是内置函数(len、del), 通过下标索引删除指定的元素
格式:del 列别名.[下标索引],如
my_list = [1,3,'hello','肯定',400]
del my_list[2]#下标索引不存在则报错
print(my_list)
pop 默认会从列表后面开始删除一个元素
.pop()会有个返回值,告知删除元素的值
my_list = [1,3,'hello','肯定',400]
print(my_list.pop())#显示被删除的元素
print(my_list)
pop(下标索引)
my_list = [1,3,'hello','肯定',400]
ret = my_list.pop(3)#指定删除列表中所有为3的元素
print(ret)
print(my_list)
pop是属于列表的方法,而del是python 的内置函数,殊途同归
remove 通过对象来删除列表中的元素
my_list = [1,3,'hello','肯定',400]
my_list.remove('肯定')#不知道元素的下标,可以直接指定删除该元素
print(my_list)
列表的排序sort()
进行排序
my_list = [2,4,55,30,-13,-43,433,31890,-2134]
my_list.sort()#升序排序,等价于my_list.sort(reverse=False)
print(my_list)
my_list.sort(reverse=True)#降序排序
print(my_list)
# python3.x中排序只能是数字,字符串不行
列表嵌套
my_list = [['中山大学','中医药大学','广州大学','清华大学'],['外语外贸大学','暨南师范'],['华南师范','北京大学','体育大学','司法警官大学','政法大学']]
#获取司法警官大学字符串
name = my_list[2][3]
print(name)
列表的最大最小值(此列表需全为数字)
my_list = [1,44,34,8,-3,-328,3732]
print(max(my_list))#max取最大值
print(min(my_list))#min取最小值
my_list.sort(reverse=True)#降序排序
print(my_list[-1])#降序排序后取最小值
for循环遍历列表取最值
my_max = my_list[0]#取列表中一个元素与其他所有元素比较一遍,拿最大或最小值打印出来
for value in my_list:
if value > my_max:#循环,自动拿第一个元素开始与my_max对比,value大于my_max,则把value的值赋给my_max,否则开始第二个对比
my_max = value
print(my_max)
取最小值
my_min = my_list[0]
for value in my_list:
if value < my_min:
my_min = value
print(my_min)