Python_day03

列表list:(打了激素的数组)

数组是只能存储同一种数据类型的结构;
数组: scores[43] = [12, 12.0, "hello"]

Python_day03_第1张图片


定义元组

Python_day03_第2张图片


定义列表

Python_day03_第3张图片


元组是不可变数据类型,不能修改元素;

列表是可变数据类型,可以修改元素;

Python_day03_第4张图片


分析列表的特性(与元组对比)

1>.索引

# 正向索引

# 反向索引

# 拿出列表最后一个元素, 最后一个元素是列表, 再拿出列表的第三个元素,如下 :

Python_day03_第5张图片


2>.切片

# 去掉列表的第一个元素

# 逆序显示

Python_day03_第6张图片


3>.重复, 连接

Python_day03_第7张图片


# 不建议这样连接两个列表,后面有效率更高的方法 ;

Python_day03_第8张图片


4>.成员操作符

Python_day03_第9张图片


列表的增删改查

1>.增

ip 白名单

# 追加元素到列表的最后

Python_day03_第10张图片


# 增加元素到列表的指定位置



# iterable 代表可迭代的;

# 目前学习的可迭代对象有 : str, list, tuple

# 增加多个元素到列表最后



2>.改

# 通过列表的索引,对列表某个索引值重新赋值;

Python_day03_第11张图片


3>.查

# 统计某个元素在列表中出现的次数

# 找到某个值在列表中的索引值

Python_day03_第12张图片


4>.删

# 删除列表中遇到的第一个 value 值

# 删除列表中第 i 个索引值

Python_day03_第13张图片


# 删除除了第一个元素之外的其他索引值

# 删除列表对象

Python_day03_第14张图片


Python_day03_第15张图片


# 删除指定索引对应的值,默认是最后一个元素

# 删除列表的第一个索引(li.pop(0)

Python_day03_第16张图片


5>.其他的排序及逆转

# 排序,如果说都是数字,按照数字大小排序 ;

# 是字母的话,按照 ASCII 码来排序;

# **** 如何查看对应的 ASCII 码 ? ord('a')

Python_day03_第17张图片


# 逆转

Python_day03_第18张图片


列表练习

知识点学习:

python中特有的while....else...语句

如果满足while后面的语句,执行while循环的程序, 如果不满足,执行else里面的程序.

提示: 用户名和密码一一对应

users = ["user1", "user2", "user3"]

passwords = ["123", "456", "789"]

Python_day03_第19张图片


Python_day03_第20张图片



列表构建栈和队列数据结构

1>.栈

栈是先进后出(LIFO-first in last out);

类似于往箱子里面放书;

代码实现如下: (实际应用中这样太麻烦,将来会用类实现)

Python_day03_第21张图片


2>.队列

队列是先进先出(FIFO):

类似于去餐厅买饭排队;

"""
queue = [1, 2,3]

队列操作

1). 入队:enQueue

2). 出队:

3). 查看队列

4). 退出

"""


3>.列表内置方法

cmp

min, max

zip

enumerate

Python_day03_第22张图片

Python_day03_第23张图片


字典(dict)

字典创建

1>.赋值创建字典

# 赋值创建字典 , key-value , 键值对

Python_day03_第24张图片



2>.通过工厂函数创建字典

# 通过工厂函数创建字典



# 通过字典的 fromkeys 方法创建字典,所有元素有一个默认值;

# 如果没有指定默认值,默认为 None;

# 给每个元素设置默认值为 "123";

Python_day03_第25张图片


应用案例: 生成多个银行卡号,并初始化密码为"000000"

Python_day03_第26张图片


Python_day03_第27张图片


分析字典的特性(跟元组和列表比较)

字典不能索引和切片,因为字典是无序的数据类型;

字典不支持重复和连接;

字典支持成员操作符: 判断字典的key值是否在字典中存在; in, not in


字典的增删改查
1>.增

·字典名[key] = value

·d.update(a=1, b=2)

·d.update({'a':1, 'b',2})

·d.setdefault('a', 1)

** 重点: setdefault 和 update方法的不同

# 通过字典名 [key]=value, 将 key-value 添加到字典中

Python_day03_第28张图片


# update 方法实现添加: key 存在,覆盖 value 值, 否则,添加

Python_day03_第29张图片


# setdefault 实现添加: key 存在,不覆盖 value 值, 否则,添加

Python_day03_第30张图片


2>.改

·字典名[key]=value

·d.update({'a':2, 'b':3})

·d.update(a=2, b=3)


3>.查

·查看key值;

·查看value值;

·查看key-value键值对;

·查看key是否存在;


# 查看 key 值

# 查看 value 值

Python_day03_第31张图片


# 查看 key-value 键值对



# 查看 key 是否存在

# 查看指定 key 对应的 value 值;如果 key 不存在,不报错; 如果存在,返回 value 值;

# services['ftp'] 如果 key 不存在,直接报错

Python_day03_第32张图片


4>.删

·d.pop(key) ---> 删除指定 key 的字典元素;

·d.popitem() ---> 随机删除字典的 key-value 元素;

·del d[key] ---> 删除指定 key 的字典元素;

·d.clear() ---> 清空字典元素;

Python_day03_第33张图片


Python_day03_第34张图片


5>.循环遍历字典

Python_day03_第35张图片


# 默认情况下遍历字典的 key 值

Python_day03_第36张图片


Python_day03_第37张图片


字典应用

应用1: 通过字典实现case语句

·目前python不支持case语句;

·实现case语句的两种方式:

1>.if...elif...elif...else...

2>.字典实现

Python_day03_第38张图片


Python_day03_第39张图片


Python_day03_第40张图片




你可能感兴趣的:(Python_day03)