九、python元组和字典

1. 元组的操作

(1)元组的遍历

for … in

变量 = (值1,值2,值3...)
for 变量 in 元组:
    使用变量获取元组的每个值
# t = (1,2,3,4)
# for val in t:
#     print(val)

while

i = 0
while i<len(元组):
    使用元组变量[i]访问每个值
    i += 1
# t = (1,2,3,4)
# i = 0
# while i < len(t):
#     print(t[i])
#     i += 1

遍历长度相同的多级元组

元组 = ((值1,值2...),(值1,值2...)...)
for 变量1,变量2.. in 元组:
    使用变量1和变量2
# t = ((1,2),(3,4),(5,6))
# for val,var in t:
#     print(val,var)

遍历长度不同的多级元组

元组 = ((值1,值2...),(值1,值2...)...)
for 变量1 in 元组:
    for 变量2 in 变量1:
        使用变量2获取每个值
# t = ((1,2),(3,4,5),(6,7))
# for val in t:
#     for var in val:
#         print(val,var)

(2)元组的操作方法

index()

获取指定值在元组中的索引值
格式:元组.index()
返回值:整数
print(t.index(2))

count()

计算某个值在元组中出现的次数
格式:元组.count()
返回值:整数
print(t.count(2))

(3)元组推导式

基本格式:

格式: 变量 = (i for i in 元组)
结果:不是元组而是一个生成器

带条件格式:

格式: 变量 = (i for i in 元组 if 条件表达式)
结果:不是元组而是一个生成器

多循环推导式:

格式: 变量 = (x+y for x in 元组1 for y in 元组2)
结果:不是元组而是一个生成器   x+y可以是其他操作

带条件的多循环推导式:

格式: 变量 = (x+y for x in 元组1 for y in 元组2 if 条件表达式)
结果:不是元组而是一个生成器   x+y可以是其他操作

2. 字典

创建多个元素的字典

方式1:
    变量 = {:,:....}
   	dict1 = {"a":1,"b":2,"c":3}

方式2:
    变量 = dict({:,:....})
    dict2 = dict({"a":1,"b":2,"c":3})

方式3:
    变量 = dict(=,=...)
    注意:该方式键作为形参名使用,不可以添加引号,必须符合变量规则
    dict3 = dict(a=1,b=2,c=3)

方式4:
    变量 = dict([(,),(,)...])
    变量 = dict([[,],[,]...])
    变量 = dict(((,),(,)...))
    list1 = ["a","b","c"]
    list2 = [1,2,3]
    dict4 = dict(zip(list1,list2))

    list1 = ["a","b","c","d","e","f"]
    list2 = [1,2,3]
    dict4 = dict(zip(list1,range(1,10)))

方式5:
    变量 = dict(zip((键,键...),(,...)))

字典的遍历

遍历键

for 变量i in 字典:
    #使用i遍历所有的键,有键就可以通过变量访问其值
# for key in dict1:
#     print(key)

遍历键和值

for 变量i,变量j in 字典.items():
    #使用变量i遍历所有键,通过变量j遍历所有值
# for key,value in dict1.items():
#     print(key,value)

字典的内置函数

clear()

功能:清空字典
格式:字典.clear()
返回值:None
注意:直接改变原有字典
# dict1.clear()
# print(dict1)

copy()

功能:复制字典
格式:字典.copy()
返回值:新的字典
# dict2 = dict1.copy()
# print(dict2)

fromkeys()

功能:使用指定的序列作为键创建字典
格式:字典.fromkeys(序列,值)
返回值:字典
# lsd = ["d","e","f"]
# lsd1 = [1,2,3]
# dict2 = dict1.fromkeys(lsd,lsd1)
# print(dict2)

get()

功能:根据键获取指定的值
格式:字典.get(键[,默认值])
返回值:值
注意:如果键不存在,则使用默认值,如果没有默认值则返回None
# print(dict1["e"])
# print(dict1.get("e"))

items()

功能:将字典的键值转化成类似元组的形式方便遍历
格式:字典.items()
返回值:类似元组的类型

keys()

功能:将字典的所有键组成一个序列
格式:字典.keys()
返回值:序列
print(dict1.keys())

values()

功能:将字典的所有值组成一个序列
格式:字典.values()
返回值:序列
print(dict1.values())

pop()

功能:移除字典中指定的元素
格式:字典.pop(键[,默认值])
返回值:被移除的键对应的值
注意:如果键不存在,则报错,如果键不存在,默认值设置,则返回默认值
# dict2 = dict1.pop("a")
# print(dict2)

popitem()

功能:移除字典中的键值对
格式:字典.popitem()
返回值:键值对组成的元组
注意:弹一个原字典就少一个,字典为空就不可以弹出,会报错
# dict1.popitem()
# dict1.popitem()
# dict1.popitem()
# dict1.popitem()
# print(dict1)

setdefault()

功能:添加一个元素
格式:字典.setdefault(键,值)
返回值:None
注意:添加是键存在则不进行任何操作,键不存在则添加,添加是不写值,默认None值
# dict1.setdefault("d",4)
# print(dict1)
#
# dict1["e"] = 5
# print(dict1)

update()

功能:修改字典中的值

方式1:
    格式: 字典.update(键=值)
    返回值:None
    注意:此处的键作为关键字参数使用,不可以添加''

方式2:
    格式: 字典.update({键:值})
    返回值:None
# dict1.update(d=5)
# print(dict1)
#
# dict1.update({"e":6})
# print(dict1)

# 如果添加的key在原始字典中没有  那么就添加新的键值对   如果有  那么就更新原字典的键所对应的值
# dict2 = {"f":7,"g":8,"a":0}
# dict1.update(dict2)
# print(dict1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值