数据类型

  • 列表 list
  • 元组 tuple

列表 list

定义一个列表,将数据 放在 []

  1. # 定义一个列表, 存放所有的学生信息
  2. students = ["xiaoming","zhangsan","lisi"]
  3. print(type(students)) # <class 'list'> 打印数据的类型

列表的特征

  • 可以对数据进行增删改查

增加数据

list 数据类型提供方法可以进行数据的添加

  • append 往列表最后添加一个数据

    1. # 定义一个列表, 存放所有的学生信息
    2. students = ["xiaoming","zhangsan","lisi"]
    3. # print(type(students)) # <class 'list'> 打印数据的类型
    4. print('所有的学生',students)
    5. print('现在添加一个新的学生')
    6. students.append("小红") # 列表中添加一条新的数据
    7. print(students) # ['xiaoming', 'zhangsan', 'lisi', '小红']
  • insert 按照指定位置添加数据

指定位置从0 开始计算, 0 表示第一位,所以往第一个位置添加一个新的数据

  1. print(students) # ['xiaoming', 'zhangsan', 'lisi', '小红']
  2. students.insert(0,"王大锤") # 在索引位置为0 (第一个)地方添加数据
  3. print(students) # ['王大锤', 'xiaoming', 'zhangsan', 'lisi', '小红']

修改数据

列表中修改数据 直接根据索引值来进行修改;

  1. # 定义一个列表, 存放所有的学生信息
  2. students = ["xiaoming","zhangsan","lisi"]
  3. # print(type(students)) # <class 'list'> 打印数据的类型
  4. print('所有的学生',students)
  5. print('现在添加一个新的学生')
  6. students.append("小红") # 列表中添加一条新的数据
  7. print(students) # ['xiaoming', 'zhangsan', 'lisi', '小红']
  8. students.insert(0,"王大锤") # 在索引位置为0 (第一个)地方添加数据
  9. print(students) # ['王大锤', 'xiaoming', 'zhangsan', 'lisi', '小红']
  10. # 打印第一个学生的姓名
  11. print(students[0])
  12. # 将students 中的第一个数据改为 张铁柱
  13. students[0] = "张铁柱"
  14. print('修改完成之后,再次查看第一个同学信息',students[0])

查找数据

  • index 返回数据在list中的索引值, 查找指定的数据,如果能够找到,将返回这条数据在list中的索引位置;如果找不到,直接程序报错。 ```python

    定义一个列表, 存放所有的学生信息

    students = [“xiaoming”,”zhangsan”,”lisi”]

    print(type(students)) # 打印数据的类型

    print(‘所有的学生’,students) print(‘现在添加一个新的学生’) students.append(“小红”) # 列表中添加一条新的数据 print(students) # [‘xiaoming’, ‘zhangsan’, ‘lisi’, ‘小红’] students.insert(0,”王大锤”) # 在索引位置为0 (第一个)地方添加数据 print(students) # [‘王大锤’, ‘xiaoming’, ‘zhangsan’, ‘lisi’, ‘小红’]

    打印第一个学生的姓名

    print(students[0])

    将students 中的第一个数据改为 张铁柱

    students[0] = “张铁柱” print(‘修改完成之后,再次查看第一个同学信息’,students[0]) print(students) # [‘张铁柱’, ‘xiaoming’, ‘zhangsan’, ‘lisi’, ‘小红’]

    查找一个 小张

    print(students.index(‘小张’)) # 没有小张 程序会报错

    print(students.index(‘zhangsan’)) # 2 张三的索引值
  1. - count 统计有多少个
  2. ```python
  3. # 定义一个列表, 存放所有的学生信息
  4. students = ["xiaoming","zhangsan","lisi"]
  5. # print(type(students)) # <class 'list'> 打印数据的类型
  6. print('所有的学生',students)
  7. print('现在添加一个新的学生')
  8. students.append("小红") # 列表中添加一条新的数据
  9. print(students) # ['xiaoming', 'zhangsan', 'lisi', '小红']
  10. students.insert(0,"王大锤") # 在索引位置为0 (第一个)地方添加数据
  11. print(students) # ['王大锤', 'xiaoming', 'zhangsan', 'lisi', '小红']
  12. # 打印第一个学生的姓名
  13. print(students[0])
  14. # 将students 中的第一个数据改为 张铁柱
  15. students[0] = "张铁柱"
  16. print('修改完成之后,再次查看第一个同学信息',students[0])
  17. print(students) # ['张铁柱', 'xiaoming', 'zhangsan', 'lisi', '小红']
  18. # 查找一个 小张
  19. # print(students.index('小张')) # 没有小张 程序会报错
  20. print(students.index('zhangsan')) # 2 张三的索引值
  21. # 打印总共 小张的个数
  22. print(students.count('小张')) # 0 没有
  23. print(students.count('zhangsan')) # 1

清除数据

  • clear 清除所有的数据
  • pop 删除单个数据,默认删除 最后一个数据,也可以指定位置删除 ```python

    定义一个列表, 存放所有的学生信息

    students = [“xiaoming”,”zhangsan”,”lisi”]

    print(type(students)) # 打印数据的类型

    print(‘所有的学生’,students) print(‘现在添加一个新的学生’) students.append(“小红”) # 列表中添加一条新的数据 print(students) # [‘xiaoming’, ‘zhangsan’, ‘lisi’, ‘小红’] students.insert(0,”王大锤”) # 在索引位置为0 (第一个)地方添加数据 print(students) # [‘王大锤’, ‘xiaoming’, ‘zhangsan’, ‘lisi’, ‘小红’]

    打印第一个学生的姓名

    print(students[0])

    将students 中的第一个数据改为 张铁柱

    students[0] = “张铁柱” print(‘修改完成之后,再次查看第一个同学信息’,students[0]) print(students) # [‘张铁柱’, ‘xiaoming’, ‘zhangsan’, ‘lisi’, ‘小红’]

    查找一个 小张

    print(students.index(‘小张’)) # 没有小张 程序会报错

    print(students.index(‘zhangsan’)) # 2 张三的索引值

打印总共 小张的个数

print(students.count(‘小张’)) # 0 没有 print(students.count(‘zhangsan’)) # 1

清除单个数据 默认清除最后一个元素

students.pop() print(‘已经清除最后一个元素,现在的数据’,students)

清除指定位置的数据, 清除第二个数据(索引值为1)

students.pop(1) print(‘已经清除第二个元素,现在的数据’,students)

清除数据

print(‘清空所有的数据’) students.clear()

查看students

print(students) # []

  1. <a name="Z380O"></a>
  2. # list 排序
  3. list列表中提供方法支持所有的数据进行排序。<br />现在有个list的数据如下:
  4. ```python
  5. nums = ['a','z','c',1,'b','哈哈哈']

将数据从小到大进行排序

  1. nums = ['a','z','c','1','b','哈哈哈']
  2. # 进行排序 默认进行正向排序
  3. nums.sort()
  4. print(nums) # ['1', 'a', 'b', 'c', 'z', '哈哈哈']
  5. # 降序排序
  6. nums.sort(reverse=True)
  7. print(nums) # ['哈哈哈', 'z', 'c', 'b', 'a', '1']

主要使用sort方法进行排序。 支持正向和反向的排序。

元组 tuple

元组这种数据类型的定义,一般最外层使用() 表示。
元组中的数据定义好之后不能进行修改,一般用在固定的配置文件中。
或者 地图中的GPS信息,比如在游戏中的地图,有x,y 的坐标,这些坐标设置完成之后不能修改。

定义元组

  1. # 定义元组
  2. stus = ('张三','李四')
  3. print(type(stus)) # <class 'tuple'>

元组不支持修改,修改数据会报错

  1. # 定义元组
  2. stus = ('张三','李四')
  3. print(type(stus)) # <class 'tuple'>
  4. stus[0] = "zhangsan" # 这里会引起错误

image.png
元组中的数据,同样也不支持删除操作。

元组 支持的方法

元组只支持 index 和count 方法。 使用方式与 list一样。

  1. # 定义元组
  2. stus = ('张三','李四')
  3. print(type(stus)) # <class 'tuple'>
  4. print(stus.count('李四')) # 1
  5. print(stus.index('张三')) # 0

面试问题

  1. 说下 list 列表和 tuple 元组的区别;

list 类型的数据支持 增删改查操作,应用范围比较广
tuple 元组类型的数据定义好之后就不能在修改或者删除,只能进行查询操作,比如在项目中一些数据库配置信息可以存放在tuple 元组中。

思维导图

python-day2 列表,元组 - 图2