列表的使用
非数值类型:列表,元祖,字典,字符串,都是Python中的高级变量类型
Python中的非数值类型都支持一些共同的操作:都是一个序列,也可以理解为容器,用来装东西用
列表数据类型的应用场景:存储多个相同类型的数据,通过迭代遍历,针对每一项元素,执行相同的操作
注意: 列表中可以存不同类型的数据,但是一般不这么用。
1列表定义
列表-在其他语言中等价于数组,用于存储一串信息
记录三个人的名字,可以 用三个字符串变量存储,也可以用一个列表存储多个变量
name_list=[“zhangsan”,“lisi”,“wangwu”]
用[]定义列表,其中元素用逗号,分隔
2列表中取值
利用索引取出列表中的元素,索引超出范围,程序会报错
name_list[1]
zhangsan
3列表的增,删,查,改
列表的常用操作包括 :增,删,查,改。可以通过函数和方法两种方式来执行常用操作:函数通过函数名()调用,方法通过变量名.方法名调用
3.1修改指定位置的数据
name_list[1]=‘lisisi’
3.2确定指定元素的索引
name_list.index(“lisi”)
使用index方法需要注意,如果传递的数据不在列表中,程序会报错
3.3增加操作
1.向列表的末尾追加数据
name_list.append(“wangxiaoer”)
2.在列表的指定索引位置添加一个数据(添加在0,1之间)
name_list.insert(1,“xiaomeiemi”)
3.将可以迭代的数据增加到当前对象的末尾
temp_list=[“sunwukong”,“zhuerge”,“sanshidia”]
name_list.extend(temp_list)
3.4删除操作
1.删除指定的数据,当列表中有多个“zhangsan”,会删掉一个第一个指定数据
name_list.remove(“wangwu”)
2.pop默认可以将列表中最后一个元素删除
name_list.pop()
pop方法可以指定索引,删除指定元素,同时可以将弹出的元素返回
a=name_list.pop(3)
3.claer方法将列表清空呢
name_list.clear()
name_list=[]
Python2.7版本的编译器中没有这个方法偶,如果有,会将列表清空呢
4.扩展: Del 从列表中删除数据,用于删除指定索引的元素
del name_list[1]
del本质上是将变量从内存中删除,如果使用del删除了一个变量,那么后续就不能使用该变量。慎重使用
4列表的数据统计
数据统计操作包括一个函数一个方法
1.统计列表数据保存了多少个数据,列表数据的长度
list_len=len(name_list)
print(“列表中包含:%d”%list_len)
2.统计某个数据出现的次数
count=name_list.count(“zhangsan”)
print(“zhangsan 出现了:%d”%count)
5列表排序
新定义两个列表:
name_list=[“zhangsan”,“lisi”,“wangwu”,“wangxiaoer”]
num_list=[6,8,4,1,10]
默认升序排序,字符串按首字母的顺序a-z
name_list.sort()
num_list.sort()
降序输出
name_list.sort(reverse=True)
num_list.sort(reverse=True)
翻转(逆序)
name_list.reverse()
num_list.reverse()
6列表的循环遍历-for
循环遍历:从头到为 依次从列表中获取数据,在循环体内部对每个元素执行相同的操作。为了提高列表的遍历效率,专门提供了迭代interation遍历,For能够实现迭代遍历。
name_list=["zhangsan","lisi","wangwu","wangxiaoer"]
for my_name in name_list:
print("我的名字叫:%s"%my_name)
顺序的从列表中依次获取数据,每一次循环过程中,数据都会保存在my_name
通过my_name这个变量中,每次在循环体内部都可以访问当前这一次获取到的数据
for my_name in name_list(要遍历的列表变量):
优点:不需要设计计数器,也不需要对计数器进行操作