python笔记三
一、元组
定义
由一系列变量组成的不可变序列容器。
不可变是指一旦创建,不可以再添加/删除/修改元素
1创建空元组:
元组名 = ()
元组名 = tuple()
2. 创建非空元组:
元组名 = (20,)
元组名 = (1, 2, 3)
元组名 = 100,200,300
元组名 = tuple(可迭代对象)
3.对元组中元素的操作
- 获取元素:
变量 = 元组名[索引]
变量 = 元组名[切片] # 赋值给变量的是切片所创建的新元组 - 遍历元组:
正向:
for 变量名 in 列表名:
变量名就是元素
反向:
for 索引名 in range(len(列表名)-1,-1,-1):
元组名[索引名]就是元素
# tuple01=(10,12,13)
# print(tuple01[-1])
# print(tuple01[::-1])
# for item in tuple01:
# print(item)
#
# for i in range(len(tuple01)-1,-1,-1):
# print(tuple01[i])
二、字典
定义
由一系列键值对组成的可变散列容器。
散列:对键进行哈希运算,确定在内存中的存储位置,每条数据存储无先后顺序。
键必须惟一且不可变(字符串/数字/元组),值没有限制。
基础操作
1.创建字典:
字典名 = {键1:值1,键2:值2}
字典名 = dict (可迭代对象)
2. 添加/修改元素:
语法:
字典名[键] = 数据
说明:
键不存在,创建记录。
键存在,修改值。
3. 获取元素:
变量 = 字典名[键] # 没有键则错误
4. 遍历字典:
for 键名 in 字典名:
字典名[键名]
for 键名,值名 in 字典名.items():
语句
5. 删除元素:
del 字典名[键]
字典推导式
1.定义:
使用简易方法,将可迭代对象转换为字典。
2. 语法:
{键:值 for 变量 in 可迭代对象}
{键:值 for 变量 in 可迭代对象 if 条件}
#字典练习
# dict1 = {1:"hh",2:"nice"}
#
# for item in dict1:
# print(dict1[item])
#
# del dict1[1]
# print(dict1)
#
#
# ## 字典推导式
# dict2 = {key:value for key,value in dict1.items()
# if value == "nice"}
#
# print(dict2)
集合
基础操作
创建空集合:
集合名 = set()
集合名 = set(可迭代对象)
2. 创建具有默认值集合:
集合名 = {1, 2, 3}
集合名 = set(可迭代对象)
3 . 添加元素:
集合名.add(元素)
4. 删除元素:
集合名.discard(元素)
集合推导式
定义:
使用简易方法,将可迭代对象转换为集合。
2. 语法:
{表达式 for 变量 in 可迭代对象}
{表达式 for 变量 in 可迭代对象 if 条件}
练习——遍历容器内的元素
list2 = [2,3,4,[7,8,9,[10,11,12,[13,[111,“nihao”,112,113],14,15],90]]]
list2 = [2,3,4,[7,8,9,[10,11,12,[13,[111,"nihao",112,113],14,15],90]]]
# list1=[]
# def alist(a):
# if isinstance(a,(int,str)):
# list1.append(a)
# else:
# for item in a:
# alist(item)
# return list1
# print(alist(list2))
#
list2 = [[2,3],[3,4],[4,5],(23,24,25),{“你好”,4}]
list2 = [[2,3],[3,4],[4,5],(23,24,25),{"你好",4}]
list3 = [j for i in list2 for j in i ]
print(list3)