列表:
1、list是python中使用最频繁的数据类型,在其他语言中叫做数组
2、通常用[ ]定义,数据之间使用,分隔
3、列表的索引从0开始
例如:
name_list=[“小白”,“小黑”,“小胖”]
其中:
name_list[0]=“小白”
name_list[1]=“小黑”
name_list[2]=“小胖”
如果超出索引范围,程序会报错。
一、列表 的一些常用操作
第一步:在终端输入ipython,然后定义一个列表,例如:name_list=[]
第二步:输入name_list。按下tab键,ipython会显示列表能够使用的方法
append() count() insert() reverse()
clear() extend() pop() sort()
copy() index() remove()
案例1:取值和取索引
取值是直接取个下标–如果列表索引超出范围,会报错
取索引:知道数据的类容,想确定数据在列表中的位置(如果记不住可以在终端查看方法,index的中文就是索引)
name_list=["小白","小黑","小胖"]
print(name_list[1])
#注意使用index时,如果传递的数据不在列表中,程序会报错
print(name_list.index("小白"))
2、修改
要修改哪个元素,就在列表中号[]中修改索引,然后在等号后面跟上要修改的内容
name_list[1]="小花"
注意如果修改索引超出索引范围,程序会报错:list assignment index out of range( assignment :指定)
3、增加
#append方法可以向列表的末尾追加数据
#insert可以在列表的指定索引位置插入数据
#extend方法可以把其他列表中的完整内容,追加到当前列表的末尾。
name_list=["小白","小黑","小胖"]
name_list[2]="小花"
temp_list=["王二狗","李二狗"]
name_list.append("小黄")
name_list.insert(1,"小橘")
name_list.extend(temp_list)
结果如下:
['小白', '小橘', '小黑', '小花', '小黄', '王二狗', '李二狗']
在敲代码时,可以按照提示输入,不用死记硬背,比如提示的如下
object:表示你可以输入的对象
index:修改索引的位置
iterable:可迭代的,这里暂时理解成其他列表的变量。
4、删除
#remove方法可以在列表中删除指定的数据,如果不写,系统默认删除第一个数据。
#pop方法指定删除元素的索引,如果不写系统默认可以把列表中的最后一个元素删除
#clear可以清空列表
name_list.remove("小黄")
name_list.pop()
name_list.pop(4)
print(name_list)
结果如下:
['小白', '小橘', '小黑', '小花']
补充del关键字
这个也是删除,但这个本质上是将一个变量从内存中删除的。
dog=["小白","小黑","小橘"]
cat=["大白","大黑","大橘"]
del dog[1]
del cat
print(dog)
print(cat)
#本质上是用来将一个变量从内存中删除
#后续的代码就不能再使用这个变量了,否则会报错就像cat这样
结果如下:
['小白', '小橘']
NameError: name 'cat' is not defined
5、统计
#len:函数可以统计到列表中元素的总数
#count:统计列表中某一个数据出现的次数
dog=["小白","小黑","小橘","大白","大黑","大橘"]
print("列表中的个数有{}个".format(len(dog)))
print("小橘出现了{}次".format(dog.count("小橘")))
结果如下:
列表中的个数有6个
小橘出现了1次
注意len的格式直接是len(列表名),
而count的格式是列表名.count("who”)
6、排序与反转
sort的话按照从小到大依次排列,字母就是abcde,数字就是123456
升序方式:
dog=["xiaobai","erha","alsjia"]
number=[2,5,6,1,2,3]
dog.sort()
number.sort()
结果如下:
['alsjia', 'erha', 'xiaobai']
[1, 2, 2, 3, 5, 6]
降序方式:
dog=["xiaobai","erha","alsjia"]
number=[2,5,6,1,2,3]
dog.sort(reverse=True)
number.sort(reverse=True)
结果如下:
['xiaobai', 'erha', 'alsjia']
[6, 5, 3, 2, 2, 1]
reverse的话就是从右到左换个方向
dog.reverse()
number.reverse()
结果如下:
['alsjia', 'erha', 'xiaobai']
[3, 2, 1, 6, 5, 2]
二、列表的循环遍历
遍历就是从头到尾依次从列表中获取数据
在循环体内部针对买一个元素,执行相同的操作。
使用for循环就能实现迭代遍历。
格式:
for 循环内部使用的变量 in 列表
循环内部针对列表元素进行操作
dog_kinds=["xiaobai","erha","alsjia"]
for dog in dog_kinds:
print("这只狗的品种是{}".format(dog))
结果如下:
这只狗的品种是xiaobai
这只狗的品种是erha
这只狗的品种是alsjia
三、应用场景
1、列表虽然可以存储不同类型的数据,但一般情况下,列表更多的是存储相同类型的数据
2、通过迭代遍历,在循环体内部,针对列表中的每一项元素,执行相同的操作。