01.认识列表
列表(list):
1.什么是列表
是python中的容器类的数据类型,可以用来存储多个数据。可变的,有序的
可变指的是列表中的元素的值和位置以及列表的长度可变--> 可变决定列表可以增删改
有序--> 决定可以通过下标来获取元素
2.字面量
[元素1,元素2,元素3....]
列表中元素可以是任何类型的数据--> 整数,浮点数,布尔,字符串,字典,列表,元祖,集合,函数等都可以作为列表的元素。
list1 = [1,23,'abc',True,False] #声明一个变量list1,给他赋了一个列表,列表有5个元素
声明一个列表,有三个元素,分别是[1,2],'abc',False
list2 = [
[1,2],
'abc',
False
]
name = '叶修'
names = ['小明','小花','小米',name] # 变量也可以作为列表的元素
print(names)
02.获取列表元素
1. 获取单个元素(和字符串一样)
格式:列表[下标]
说明;列表一旦确定,列表中每个元素的下标就确定了。下标范围和字符串一样,0--长度-1或者-1~~负-的长度
单取的时候下标也不能越界,不能超出列表的长度

2. 获取部分的元素(切片)--->列表切片的结果是 列表。字符串切片的结果是字符串
和字符串一样。
列表[起始下标;结束下标],-->起始下标获取到结束下标前一个
列表[起始下标;结束下标:步长]

03.元素的增删改
films = ['绿巨人','钢铁侠','蜘蛛侠','美国队长']
1.增加(增加元素)
a.列表.append(元素)---> 在列表最后添加一个元素

b.列表.insert(下标,元素)-->在指定的下标前去添加指定的元素

2.删(删除列表中的元素)
a.
del 列表[下标]--> 删除列表中指定位置的元素
del语句是python中用来删除数据的语法。

b.
列表.remove(元素)---> 删除列表中指定的元素
如果元素在列表中有多个,remove只删除第一个。 而del下标
就可以删除指定位置的那个元素

c.
列表.pop() --> 将列表中的最后一个元素取出(取出来也是在列表中去除 ,但元素还在,可以另外取出来)
列表.pop(下标) --> 将列表中指定下标对应的元素取出来

3. 改(修改列表中的元素)
列表[下标] = 新值 -->修改指定下标对应的元素

4.课堂练习
1. 遍历列表中的元素
for 循环变量列表,拿到的就是列表中的每个元素

1 .用一个列表,保存一个班5个学生的成绩,去求这个班的学生的总成绩

2. 用一个列表,保存多个人的名字,英文的,将列表中所有人的名字首字母大写


3.删除上一个列表中名字首字母是h的人的名字。


用一个列表保存一个班的学生的成绩,删除不及格的学生

5.列表相关运算
1. +
列表1 + 列表2 --> 将列表1和列表2中的元素合并,产生一个新的列表,并不是改变之前的列表1

2. *
列表*n——> 将列表中的元素重复N此 ,产生一个新的列表
3.比较运算

列表1 == 列表2 --> 判断两个列表中的元素是否相等
补充:
比较是否相等的两钟方式, == 和 is
一个变量有id、value和type三个元素
id -->地址(数据在内存中存储的地址)
value——>数据的值
type——> 数据的类型
python中变量处处数据的时候存的是数据的地址id,取出来的是数据的值value,
== --> 判断的是值是否相等
is ——> 判断的地址是否相等 是否在一个地址里面存储(面试!)

两个列表比较大小,比较的每个元素的大小(了解)

6.列表赋值

总结:用一个列表给另外一个列表赋值的时候,要注意如果是直接赋值,可能会修改其他一个列表的元素二影响另外一个列表。如果想互不影响,就赋值的时候对原列表切片或者拷贝

7.列表相关方法
1. in 和 not in
元素1 in 列表2 ——> 元素1是否是列表2的元素
元素1 not in 列表2 --> 元素1是否不是列表2的元素

2.len()
len(列表) --> 获取指定列表的长度

3. max()和min()
max(列表)-->获取列表中最大的元素
min(列表)-->获取列表中最小的元素
要求:a. 列表中的元素类型要一致 b.列表中的元素是支持 > 符号操作

4 list()
list(数据)-->将指定的数据转换成列表类型
注意:只有序列可以被转化成列表
序列: 字符,range,列表,字典,元祖,迭代器,集合

5. count()
列表.count(元素) --> 获取指定的元素在列表中的个数

6. extend()
列表.extend(序列)-->将序列中的每个元素添加到列表里面

7. index()
列表.index(元素)--> 获取指定的元素在列表中的下标

8 .reveres()
列表.reverse()-->将列表中的元素倒序

9 . sort()
列表.sort()--> 将列表中的元素升序排序(从小到大)
列表.sort(reverse=True)-->将列表中的元素降序排序(大到小)
sorted(列表)-->将列表中的元素升序排序产生一个新的列表,不会改变原列表
sorted(列表,reverse=True)-->将列表中的元素降序排列后产生一个新的列表,不会改变原列表
注意:要求:a. 列表中的元素类型要一致 b.列表中的元素是支持 > 符号操作

10.clear()
列表.clear()--> 清空列表中的元素

11. copy()
列表.copy()--> 将列表中的元素复制一份产生一个新的列表,和列表[:]的效果是一样的

网友评论