元组和字典

元组(tuple)

1.元组的概念

元组是不可变序列
里面不同的数据项用逗号分隔,外面圆括号括起来
里面的数据项类型可以不同,例如:整数、实数、字符串、列表、元组等

(element1, element2, ... , elementn)

2.元组的创建

2.1 用()创建
使用=将它赋值给某个变量

tuple_a=(100,200,34)
tuple_b=('red','blue','black')
#可多层嵌套
tuple_c=(100,"red",("好好",2.1"jj"))
#数据项类型不同
tuple_d=(100,'red',24)
#创建空元祖
tuple_e=()

注意:定义只有一个元素的元组,需要带上逗号
例如:tuple_f=(100,)

2.2用tuple()函数创建
可以将字符串、列表、字典、区间转换成元组

 #将列表转换成元组
 list1 = ['Python', 'Java', 'C++', 'JavaScript']
 tup2 = tuple(list)
 print(tup2)#('Python', 'Java', 'C++', 'JavaScript')
#创建空元组
 tup2=tuple()

3.元祖的基本使用

访问元祖:元组名[索引]

#反向索引
tuple_a=(100,200,400)
print(tuple_a[-1])#400

元组的元素不可以变化,但元组里面的元素的里面可以变化

tuple_d=(1,2,3,[3,"dfs",2],'fse')
print(tuple_d[3]) #[3, 'dfs', 2]
tuple_d[3].append(4)
print(tuple_d) #(1, 2, 3, [3, 'dfs', 2, 4], 'fse')
del tuple_d[3][0]
print(tuple_d) #(1, 2, 3, ['hhh', 'dfs', 2, 4], 'fse')

4.元组的常用操作

操作含义
len(tuple)返回元组元素个数
max(tuple)返回元组元素最大值
min(tuple)返回元组元素最小值
tuple.count(obj)统计obj在元组出现的次数
tuple.index(obj)从元组中找到第一个匹配项的索引值
obj in tuple元素在元组中则返回true,不在则返回false

元组的切片

tuple1=(1,2,3,4,5)
print(tuple1[2:3])#(3,)访问第3个到第4个
print(tuple1[1:])#(2,3,4,5)访问第2个到最后
print(tuple1[-4:-1])#(2,3,4)从倒数第二个到倒数第四个

元组的运算符:
使用+来对元组进行拼接,使用*来对元组中的元素进行重复

a=(1,2,3)
b=(4,5,6)
print(a+b)#(1,2,3,4,5,6)
print(a*2)#(1,2,3,1,2,3)

元组参考文档

字典(dict)

1.字典的概念

字典由键值成对组成。字典也被称作关联数组或哈希表
逗号分隔,{}括起来
里面的key必须唯一

2.字典的基本操作

2.1 创建字典

d={key1:value1,key2:value2,key3:value3}
#创建空字典
dict_b={}
dict_c=dict{}

2.2 访问字典的值
字典不支持索引
(1)通过key取出对应的value值:字典名[key]
不存在报keyError的错误

age={'tom':20,'jack':18,'jane':20}
print(f"jack的年龄:{age['jack']}")#jack的年龄:18

(2)get获取key对应的value值,不存在则返回none

age={'tom':20,'jack':18,'jane':20}
print(f"jack的年龄:{age.get('jack')}")#jack的年龄:18

3.字典的常用操作

len(d)返回字典的项数
d[key]返回以key为键的项 。如果映射不存在key则引发KeyError
d[key]=valuekey不存在,则增加key-value,存在,则修改对应的value(增/改 字典)
del d[key]将d[key]从d中移除(删 字典)
d.pop(key)删除key的键值对,返回被删的键值对
d.popitem()随机删除其中一个键值对,并返回一个键值对组成的元组
d.keys()返回字典中所有key的列表
d.values()返回字典中所有value的列表
d.items()返回字典中所有(键,值)元组的列表
key in d如果d中存在键key则返回true,否则返回false
d.clear()移除字典中的所有元素(清空字典)

4.对字典的遍历

对字典遍历不支持while,只支持for

dict_a={'one':1,'two':2,'three':3}
for ele in dict_a:
    print(ele)#直接对字典遍历,得到的是key

对字典的值进行遍历,可有如下三种方法

#对value进行遍历
#1.通过dict[key]取出value
for key in dict_a:
    print(dict_a[key])
#2.依次取出value
for value in dict_a.values():
    print(value)
#3.依次取出key-value
for k,v in dict_a.items():
    print(v)

5.字典生成式

内置函数zip()将可迭代的对象作为参数,将对象中对应的元素打包成一个元组,返回这些元组组成的列表
语法:

{字典key的表达式:字典value的表达式 for 表示key的变量,表示value的变量 in zip(可迭代对象,可迭代对象)}
num=[1,2,3]
number=['one','two','three']
dict_b={ele1:ele2 for ele1,ele2 in zip(num,number)}
print(dict_b)#{1: 'one', 2: 'two', 3: 'three'}

字典参考文档

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值