以梦为马,不负韶华——Python元组&字典&集合

08——元组&字典&集合

1. 元组简介

元组基本介绍
• 元组表现形式tuple
• 元组是一个不可变序列(一般当我们希望数据不改变时,我们使用元组,其他情况下基本都用列表)
• 使用()创建元素

#创建元组
#用()来创建元组
my_tuple = ()
print(my_tuple,type(my_tuple))  #返回:() <class 'tuple'>

• 元组不是空元组至少有一个 逗号(,) 当元组不是空元组时括号可以省略

# 当元组不是空元组时,括号可以省略
my_tuple = 10,20,30,40
print(my_tuple,type(my_tuple))  #(10, 20, 30, 40) <class 'tuple'>

• 元组解包指将元组当中的每一个元素都赋值给一个变量

#元组的解包
#解包就是将元组当中的每一个元素都赋值给变量
my_tuple = 10,20,30,40
# a,b,c,d = my_tuple
# print('a= ',a)  # 返回:a=  10
# print('b= ',b)  # b=  20
# print('c= ',c)  # c=  30
# print('d= ',d)  # d=  40
#在元组解包时,变量的数量必须和元组中元素要一一对应
#如果出现变量和元素没有对等的地情况下,我们可以在变量前面加个*
#这样变量就会将获取元组中所有剩余的元素以列表形式返回
my_tuple = 10,20,30,40
a,b,*c= my_tuple
print('a= ',a)  #返回:a=  10
print('b= ',b)  #b=  20
print('c= ',c)  #c=  [30, 40]
a,*b,c= my_tuple
print('a= ',a)  #返回:a=  10
print('b= ',b)  #b=  [20, 30]
print('c= ',c)  #c=  40
*a,b,c= my_tuple
print('a= ',a)  #返回:a=  [10, 20]
print('b= ',b)  #b=  30
print('c= ',c)  #c=  40

2. 可变对象

Python中,数值类型(int和float)、字符串str、元组tuple都是不可变类型。而列表list、字典dict、集合set是可变类型
可变对象中都保存了三个数据
• id(标识)
• type(类型)
• value(值)

#列表是一个可变对象
a = [1,2,3]
a[0] = 10  #改对象
print(a)   #返回结果:[10,2,3]
#这个操作是通过变量去修改对象的值
#这种操作不会改变变量所指向的对象

a = [1,2,3]
a = [4,5,6] #改变量
print(a)    #返回结果:[4,5,6]
#这个操作在给变量重新赋值
#这种操作会改变变量所指向的对象

a = [1,2,3]
print('修改前:',a,id(a))  #返回结果:修改前: [1, 2, 3] 2109649135624
a[0] = 30
print('修改后:',a,id(a))  #返回结果:修改后: [30, 2, 3] 2109649135624

#通过变量给列表重新赋值
a = [4,5,6]
print('修改后:',a,id(a))  #返回结果:修改后: [4, 5, 6] 1378179884360

注意:改对象的值会影响所有指向该对象的变量

#为一个变量重新赋值,不会影响其他的变量
a = [1,2,3]
b = a
b = [10,2,3]
print('a',a,id(a))  #a [1, 2, 3] 1899127842760
print('b',b,id(b))  #b [10, 2, 3] 1899127842120

3. 字典简介

3.1 字典的基本介绍

• 字典属于一种新的数据结构称为映射(mapping)
• 字典的作用和列表类似,都是用来存储对象的容器
• 列表存储数据的性能好,但是查询数据的性能差,字典正好与之相反
• 在字典中每一个元素都有唯一的名字,通过这个唯一的名字可以找到指定的元素
• 这个唯一的名字我们称之为key 通过key可以快速查询value 也可以称之为值
• 字典我们也称之为键值对(key-value)结构
• 每个字典中都可以有多个键值对,而每一个键值对我们称其为一项(item)
• 创建一个有数据的字典 语法 {key:value}
• 字典的值可以是任意对象 字典的键可以是任意的不可变对象(int str bool tuple…)

#字典的值可以是任意对象
#{
   key:value,key:value……}
d = {
   'name':'葫芦娃','age':'7','gender':'男'}
print(d,type(d))  #返回结果:{
   'name': '葫芦娃', 'age': '7', 'gender': '男'} <class 'dict'>
#字典键(key)是不能重复的,如果出现重复,后面的值会替换前面的值

• 字典的键是不能重复的,如果出现重复的后面的会替换前面的

d1 = {
   'name':'葫芦娃','age':'7','gender':'男','name':'钢铁侠'}
print(d1,type(d1))  #返回结果:{
   'name': '钢铁侠', 'age': '7', 'gender': '男'} <class 'dict'>

也可以这样写:

d = {
   
    'name':'葫芦娃',
    'age':'7',
    'gender':'男'
}
print(d,type(d))  #
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值