list 列表
list这种数据类型可以存放多个数据。
比如要存放整个班级中所有同学的姓名,可以存放在list列表中;
names = ["小明","张三","李四"]
list 索引
比如访问list中的数据,索引 0 表示第一条;
names = ["小明","张三","李四","小王","小花"]
print(names[0])
print(names[1])
# 访问最后一个数据
print(names[-1])
print(names[-2])
小明
张三
小花
小王
list 切片
可以指定访问的数据范围
- [1:3] 1表示第2个, 3表示第4个, 包含2,不包含4 ```sql names = [“小明”,”张三”,”李四”,”小王”,”小花”]
print(names[1:3]) # 前包 不后不包 1, 3 都是索引 [‘张三’, ‘李四’]
print(names[1:-1]) # [‘张三’, ‘李四’, ‘小王’]
print(names[0:-1]) # [‘小明’, ‘张三’, ‘李四’, ‘小王’]
print(names[1:]) # 第二个不写 就表示到最后一个。 [‘张三’, ‘李四’, ‘小王’, ‘小花’]
print(names[:3]) # [‘小明’, ‘张三’, ‘李四’] names[0:3]
<a name="oQtZf"></a>
## list 步长
切片在取值的时候,默认顺序只能是从左往右。<br />切片的局限:
```sql
print(names[-1:-5]) # []
[1:5:2]
- 1 开始的索引位置
- 5 结束的索引位置
- 2 每次跳2个位置。
当最后一个值为 负数的时候,查找顺序为print(names[1:5:2]) # ['张三', '小王']
从右向左
```sql
names = [“小明”,”张三”,”李四”,”小王”,”小花”] print(names[-1:-5:-1]) # [‘小花’, ‘小王’, ‘李四’, ‘张三’]
```sql
names = ["小明","张三","李四","小王","小花"]
print(names[::2]) # ['小明', '李四', '小花']
print(names[::-1]) # ['小花', '小王', '李四', '张三', '小明']
内置方法
排序 sort
ages = [10,20,60,90,100,45,23,54,13]
# 将 ages list 中的数据 按照从大到小进行排序
# sort 默认是从小到大进行排序
ages.sort()
print(ages) # [10, 13, 20, 23, 45, 54, 60, 90, 100]
ages.sort(reverse=True) # 从大到小
print(ages) # [100, 90, 60, 54, 45, 23, 20, 13, 10]
增删改查
names = ["小明","张三","李四","小王","小花"]
names.append('王小') # 添加一条记录 默认添加在最后
print(names) # ['小明', '张三', '李四', '小王', '小花', '王小']
names.insert(0,"小红") # 在索引为0的位置添加 小红
print(names) # ['小红', '小明', '张三', '李四', '小王', '小花', '王小']
# 将第一个姓名改为 小张
names[0] = "小张"
print(names) # ['小张', '小明', '张三', '李四', '小王', '小花', '王小']
# 删除
names.pop() # 默认删除最后一个
print(names) # ['小张', '小明', '张三', '李四', '小王', '小花']
# 指定删除位置
names.pop(1)
print(names) # ['小张', '张三', '李四', '小王', '小花']
names.remove("张三") # 指定对应的值进行删除
print(names) # ['小张', '李四', '小王', '小花']
names.clear() # 清空
print(names) # []
面试题
下面给定一组数据,请将数据顺序按从后到前输出出来;
names= ["azhang","sssd","dddsa","xxxxx"]
print(names[::-1])
将上面的数据按照降序排序(英文字符);
names.sort(reverse=True)
print(names)