一、列表

数组: 存储同一数据类型的组合;

 列表: 可以存储不同数据类型

1.定义列表

# 定义一个空列表

python-3 列表、元组和集合

# 定义一个包含元素的列表

python-3 列表、元组和集合

# 列表里面存储列表

python-3 列表、元组和集合

2.列表特性

# 索引

python-3 列表、元组和集合

#切片

python-3 列表、元组和集合

#重复

python-3 列表、元组和集合

#连接

python-3 列表、元组和集合

#for 循环

#成员操作符

python-3 列表、元组和集合

#嵌套列表的索引

python-3 列表、元组和集合

# 强制转换range(5)的返回值为列表

python-3 列表、元组和集合

练习:

假定有下面这样的列表:
    names = ['fentiao', 'fendai', 'fensi', 'apple']

    输出结果为:'I have fentiao, fendai, fensi and apple.'

python-3 列表、元组和集合

3.列表的增加

 # append: 追加, 追加元素到列表的最后;

python-3 列表、元组和集合

# extend: 追加多个元素到列表中;

python-3 列表、元组和集合

# insert: 添加元素到指定索引的前面;

python-3 列表、元组和集合

4.列表的删除

# remove: 删除指定的值,列表中有重复字符,只删除先遇到的

python-3 列表、元组和集合


python-3 列表、元组和集合

# pop删除指定索引的值并返回, 默认情况删除最后一个元素;

python-3 列表、元组和集合

python-3 列表、元组和集合

# del删除列表元素, 可以通过索引和切片的方式来删除;

python-3 列表、元组和集合

python-3 列表、元组和集合

python-3 列表、元组和集合

# clear: 清空列表

python-3 列表、元组和集合

# 删除列表中重复的所有字符

python-3 列表、元组和集合

#删除列表中重复字符(保留一个)

python-3 列表、元组和集合

5.修改列表元素

# 通过索引修改列表元素;

python-3 列表、元组和集合

# 通过切片修改列表元素;

python-3 列表、元组和集合

6.查看元素出现的次数

python-3 列表、元组和集合

7.查看元素的索引值(索引值1-4之间的shell的索引值)

python-3 列表、元组和集合

8.复制

# 该方式不能实现复制, 因为两个变量指向同一块内存空间;

python-3 列表、元组和集合

# 第一种实现列表的复制;

python-3 列表、元组和集合

# 第2种实现列表的复制;

python-3 列表、元组和集合

9. 字母按照ASCII码从小到大排序;

python-3 列表、元组和集合

# 字母按照ASCII码从大到小排序;

python-3 列表、元组和集合

10. 对于数字排序的案例

python-3 列表、元组和集合

11.直接反转, 类似languages[::-1]

python-3 列表、元组和集合

列表练习:

用户登陆系统Version2:
        1). 已知多个用户名和密码分别保存在列表中;
        2). 判断用户名是否存在,
                如果登陆的用户不存在,则报错;;
                如果用户存在, 则判断密码是否正确:
                如果正确, 输出用户登陆成功;
                如果不正确, 输出登陆失败;
        3). 为防止黑客暴力**密码, 登陆最多有3次机会;

python-3 列表、元组和集合

python-3 列表、元组和集合计算字符个数

练习:计算字符个数

题目描述: 写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。

输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符。
输出描述:输出输入字符串中含有该字符的个数。

示例1:
    输入:ABCDEF A
    输出:1

python-3 列表、元组和集合

python-3 列表、元组和集合

12.is和==的区别

# id: 在内存中存储的位置
# type: 变量的;类型
# value: 值是否相等;
# == 判断: type, value
# is   判断: type, value, id
# 结论:
#   is表示的是对象标识符;表示两个变量的值是否在同一块内存空间;
#   ==表示的是值是否相等;
# 总结: is返回值为True, ==返回一定是True;
python-3 列表、元组和集合

13.深拷贝与浅拷贝

拷贝:
# # 不是拷贝, 是将li1的指向li的内存位置;

python-3 列表、元组和集合

浅拷贝

python-3 列表、元组和集合

深拷贝

python-3 列表、元组和集合

14.可变数据类型和不可变数据类型

# 数值类型, 字符串, bool都是不可变数据类型;

int, float, complex
str
list
bool

# list是可变数据类型;<有增删改查>列表


二、元组

1.元组数据类型

python-3 列表、元组和集合

python-3 列表、元组和集合

强制转化为元组

python-3 列表、元组和集合

2.元组数据特性

# 索引(index)

python-3 列表、元组和集合

#切片

python-3 列表、元组和集合

# 重复

# 连接

python-3 列表、元组和集合

# 成员操作符

python-3 列表、元组和集合

# for 循环

python-3 列表、元组和集合

# 枚举

python-3 列表、元组和集合

python-3 列表、元组和集合

2. 元组应用

# 元组应用的第一个场景:

python-3 列表、元组和集合

# 元组应用的第二个场景:

python-3 列表、元组和集合

3.元组的赋值

python-3 列表、元组和集合

4.列表的排序

scores.sort()

# python2中*middle是不能使用的;

最终成绩: 去掉最高分和最低分,求平均

python-3 列表、元组和集合

5.通过列表去构建队列的数据结构

python-3 列表、元组和集合

python-3 列表、元组和集合

python-3 列表、元组和集合

python-3 列表、元组和集合

python-3 列表、元组和集合

6.通过列表去构建栈的数据结构

python-3 列表、元组和集合

python-3 列表、元组和集合

python-3 列表、元组和集合

python-3 列表、元组和集合

python-3 列表、元组和集合

python-3 列表、元组和集合

三、集合

1.集合

python-3 列表、元组和集合

2.列表转换为集合

python-3 列表、元组和集合

3.列表的去重

python-3 列表、元组和集合

4.集合的特性

# 集合的特性: (索引, 切片, 重复, 连接,)===> 不支持, 因为无序; 

                              成员操作符, for循环 ===> 支持;

# 集合是无序的数据类型: 添加元素的顺序和存储的顺序无关;

python-3 列表、元组和集合

python-3 列表、元组和集合

python-3 列表、元组和集合

python-3 列表、元组和集合

5.集合的增删改查

# 增加单个元素;

python-3 列表、元组和集合

python-3 列表、元组和集合

# 增加多个元素;

python-3 列表、元组和集合

# 删除指定元素

python-3 列表、元组和集合

# 随机删除集合元素

python-3 列表、元组和集合

python-3 列表、元组和集合

# 清空集合

python-3 列表、元组和集合

6.集合操作_交集补集

# 交集

python-3 列表、元组和集合

# 并集

python-3 列表、元组和集合

# 补集

python-3 列表、元组和集合

# 对等差分(并集 - 交集)

python-3 列表、元组和集合

# s3是s4的子集?

python-3 列表、元组和集合

#  s3是s4的父集?

python-3 列表、元组和集合

#  s1和s2没有交集么? 如果没有交集True,否则返回False;

python-3 列表、元组和集合

练习:

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),N是用户输入的,对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作;

python-3 列表、元组和集合

相关文章:

  • 2021-12-26
  • 2021-08-23
  • 2021-10-24
  • 2021-08-05
  • 2022-12-23
  • 2021-12-03
  • 2022-01-04
  • 2021-11-03
猜你喜欢
  • 2021-10-26
  • 2021-11-01
  • 2022-02-02
  • 2021-10-05
  • 2021-11-10
  • 2021-12-05
  • 2022-12-23
相关资源
相似解决方案