list 列表

list这种数据类型可以存放多个数据。
比如要存放整个班级中所有同学的姓名,可以存放在list列表中;

  1. names = ["小明","张三","李四"]

list 索引

比如访问list中的数据,索引 0 表示第一条;

  1. names = ["小明","张三","李四","小王","小花"]
  2. print(names[0])
  3. print(names[1])
  4. # 访问最后一个数据
  5. print(names[-1])
  6. print(names[-2])
  1. 小明
  2. 张三
  3. 小花
  4. 小王

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]

  1. <a name="oQtZf"></a>
  2. ## list 步长
  3. 切片在取值的时候,默认顺序只能是从左往右。<br />切片的局限:
  4. ```sql
  5. print(names[-1:-5]) # []

[1:5:2]

  • 1 开始的索引位置
  • 5 结束的索引位置
  • 2 每次跳2个位置。
    1. print(names[1:5:2]) # ['张三', '小王']
    当最后一个值为 负数的时候,查找顺序为 从右向左 ```sql

names = [“小明”,”张三”,”李四”,”小王”,”小花”] print(names[-1:-5:-1]) # [‘小花’, ‘小王’, ‘李四’, ‘张三’]

  1. ```sql
  2. names = ["小明","张三","李四","小王","小花"]
  3. print(names[::2]) # ['小明', '李四', '小花']
  4. print(names[::-1]) # ['小花', '小王', '李四', '张三', '小明']

内置方法

排序 sort

  1. ages = [10,20,60,90,100,45,23,54,13]
  2. # 将 ages list 中的数据 按照从大到小进行排序
  3. # sort 默认是从小到大进行排序
  4. ages.sort()
  5. print(ages) # [10, 13, 20, 23, 45, 54, 60, 90, 100]
  6. ages.sort(reverse=True) # 从大到小
  7. print(ages) # [100, 90, 60, 54, 45, 23, 20, 13, 10]

增删改查

  1. names = ["小明","张三","李四","小王","小花"]
  2. names.append('王小') # 添加一条记录 默认添加在最后
  3. print(names) # ['小明', '张三', '李四', '小王', '小花', '王小']
  4. names.insert(0,"小红") # 在索引为0的位置添加 小红
  5. print(names) # ['小红', '小明', '张三', '李四', '小王', '小花', '王小']
  6. # 将第一个姓名改为 小张
  7. names[0] = "小张"
  8. print(names) # ['小张', '小明', '张三', '李四', '小王', '小花', '王小']
  9. # 删除
  10. names.pop() # 默认删除最后一个
  11. print(names) # ['小张', '小明', '张三', '李四', '小王', '小花']
  12. # 指定删除位置
  13. names.pop(1)
  14. print(names) # ['小张', '张三', '李四', '小王', '小花']
  15. names.remove("张三") # 指定对应的值进行删除
  16. print(names) # ['小张', '李四', '小王', '小花']
  17. names.clear() # 清空
  18. print(names) # []

面试题

下面给定一组数据,请将数据顺序按从后到前输出出来;

  1. names= ["azhang","sssd","dddsa","xxxxx"]
  1. print(names[::-1])

将上面的数据按照降序排序(英文字符);

  1. names.sort(reverse=True)
  2. print(names)