一、元组
1.1元组简介
- 表现形式tuple
- 元组是一个不可变序列(一般当我们希望数据不改变时,我们使用元组,其他情况下基本都用列表)
- 可装任何类型数据,和list唯一不同在于,其元素不可变
1.2元组的操作
注:因元组是一个不可变数据,即常量,则没有列表等可变数据有那么多“骚操作”
- 空元组的创建
使用()
如果你的创建的不是一个空元组,那么它里面至少要有一个逗号,当你只做了一个变量的赋值的时候,元组的括号可以省略
a=()
b=(1,)
c=1,
print(type(a))
print(type(b))
print(type(c))
结果
<class 'tuple'>
<class 'tuple'>
<class 'tuple'>
- 元组的拆包 (字符串和列表也可)
*a,b,c =1,2,3,6,67#*号表示匹配所有,注意,不能同时存在两个或两个以上的* - 用索引或切片实现元组的查找工作
二、字典
2.1字典简介
- 字典属于一种新的数据结构称为映射(mapping)
- 字典的作用和列表类似,都是用来存储对象的容器
- 列表存储数据的性能好,但是查询数据的性能差,字典正好与之相反
- 在字典中每一个元素都有唯一的名字,通过这个唯一的名字可以找到指定的元素
- 这个唯一的名字我们称之为key 通过key可以快速查询value 也可以称之为值
- 字典我们也称之为键值对(key-value)结构
- 每个字典中都可以有多个键值对,而每一个键值对我们称其为一项(item)
- 创建一个有数据的字典 (三种)
1 {‘name’:‘lihua’,‘age’:20}
2 dict(name=‘lihua’,age=20)
3 dict([(1,2),(3,4)])或dict(([1,2],[3,4]))或dict(((1,2),(3,4)))或dict([[1,2],[3,4]]) - 字典的值可以是任意对象 字典的键可以是任意的不可变对象(int str bool tuple…)
- 字典的键是不能重复的,如果出现重复的后面的会替换前面的
- 字典元素有顺序
2.2字典的使用
2.2.1“查”
注:无索引,只能通过key查询
- dict1[‘name’]
- dict1.get(‘name’,default) #查询‘name’的值,若不存在,则返回default
2.2.2“改”
注:dict无索引,so无法用切片
- diat1[‘name’]=‘小明’
2.2.3“增”
- dict. setdefault(key,value)向字典中添加key-value,如果这个key存在,则不会做任何改变,如果不存在,直接添加进去
- dict1.update(dict2) #相当于list中的extend()
2.2.4“删”
- del 删除字典中的key-value
- popitem() 删除字典最后的一个key-value 这个方法是有返回值的。删除之后它会将删除的key-value作为元组返回
- pop(key[,default]) 根据key删除自定中的value.当获取到值的时候会返回对应的value.第二个参数可以指定一个默认值,当获取不到值的时候会返回默认值
用python实现排列组合,转自destiny_python的博客
附:第七讲作业
1.a = {“name”:“123”,“data”:{“result”:[{“src”:“python1”},{“src”:“python2”},{“src”:“python3”}]}} 找到python1/python2/python3
2.有如下值列表[11,22,33,44,55,66,77,88,99,90], 将所有大于66的值保存至字典的第一个key的值中,将小于66值保存至第二个key的值中。
1.
a = {"name":"123","data":{"result":[{"src":"python1"},{"src":"python2"},{"src":"python3"}]}}
print(a['data']['result'][0]["src"]+'/'+a['data']['result'][1]["src"]+'/'+a['data']['result'][2]["src"])
结果
python1/python2/python3
2.
list1=[11,22,33,44,55,66,77,88,99,90]
list2=[]
list3=[]
for i in list1:
if i >66:
list2.append(i)
elif i<66:
list3.append(i)
dict1={'name1':list2,'name2':list3}
print(dict1)
结果
{'name1': [77, 88, 99, 90], 'name2': [11, 22, 33, 44, 55]}
for循环内的i+=1不影响遍历
例如:
list1 = [1, 2, 3, 4, 5, 6, 7]
list2 = []
for i in list1:
print(i)
i += 1
# list1.remove(i+1)
# list2.append(i)
# print(list2)
else:
print('循环正常结束')
结果
1
2
3
4
5
6
7
循环正常结束

本文详细介绍了Python中元组和字典的基本概念与使用方法。包括元组的创建、特性及操作,以及字典的创建方式、键值对结构、查询、修改、增加和删除等操作。
419

被折叠的 条评论
为什么被折叠?



