字典,元祖介绍

元祖介绍:

#一:基本使用

# 1 用途:元组是不可变的列表,能存多个值,但多个值只有取的需求,而没有改的需求,那么用元组合最合理
# 2 定义方式:在()内用逗号分割开,可以存放任意类型的值
# names=('alex','egon','wxx') #names=tuple(('alex','egon','wxx'))
# print(type(names))
# 强调: 当元组内只有一个元素时,务必记住加一个逗号
# x=('egon',)

# print(type(x))

# 3 常用操作+内置的方法
#1、按索引取值(正向取+反向取):只能取
# names=('alex','egon','wxx')

# names[0]='sb'

#2、切片(顾头不顾尾,步长)
# names=('alex','egon','wxx','lxx','cxxx')

# print(names[1:3])

#3、长度
# names=('alex','egon','wxx','lxx','cxxx')
# print(len(names))
#4、成员运算in和not in
# names=('alex','egon','wxx','lxx','cxxx')

# print('alex' in names)

#5、循环
# names=('alex','egon','wxx','lxx','cxxx')
# for item in names:

#     print(item)

# #二:该类型总结
# 1 存一个值or存多个值
#     可以存多个值,值都可以是任意数据类型
#
# 2 有序or无序
#有序
# 3 可变or不可变

#不可变

# 列表可变的底层原理:
#指的是索引所对应的值的内存地址是可以改变的
# 元组不可变的底层原理:
#指的是索引所对应的值的内存地址是不可以改变的
#或者反过来说,只要索引对应值的内存地址没有改变,那么元组始终是没有改变的

t1=(['a','b','c'],'wc','office')
print(id(t1[0]))
print(id(t1[1]))
print(id(t1[2]))
t1[0][0]='AAAA'
print(t1)

print(id(t1[0]))

#队列:先进先出
# l=[]
# # 入队
# # l.append('王苗鲁')
# # l.append('王成龙')
# # l.append('大脑门')
# #出队
# print(l.pop(0))
# print(l.pop(0))
# print(l.pop(0))
#堆栈:先进后出
# l=[]
# #入栈
# l.append('王苗鲁')
# l.append('王成龙')
# l.append('大脑门')
# #出栈
# print(l.pop())
# print(l.pop())

# print(l.pop())

#用insert一样可以实现

字典介绍:

#一:基本使用
# 1 用途:用来存多个值,但每一个值都有一个key与之对应,key对值有描述性的功能
#        当存储多个值表示的不同的状态时,
# 2 定义方式:{}内用逗号分隔开多个元素,每一个元素都是key:value的形式
#value可以是任意数据类型,但是key必须为不可变类型,key通常应该是字符串类型,
# d={'x':1,'y':2} #d=dict({'x':1,'y':2})
# d=dict(a=1,b=2,c=3)

# print(d)

# 3 常用操作+内置的方法
#优先掌握的操作:
#1、按key存取值:可存可取
# d={'x':1,'y':2}
# d['x']=100

# print(d)

#2、长度len
# d={'x':1,'y':2}
# print(len(d))
#3、成员运算in和not in
# d={'x':1,'y':2}

# print('x' in d)

#4、删除
d={'x':1,'y':2}
# del d['x']
# print(d)

# res=d.pop('y')#删除字典中指定key对应的value,并且返回value

# print(d)

# print(res)

# res=d.popitem()#随机删除字典中
# print(d)
# print(res)

#5、键keys(),值values(),键值对items()

# 需要掌握的内置方法(****)
# d={'x':1,'y':2,'z':3}
# v=d.get('xxxx')#获取字典key对应的value,如果字典中没有key则返回None,不会报错
# print(v)
# print(d['xxxxxxx'])

# d={'x':1,'y':2,'z':3}
# d1={'a':1,'x':1111111}
# d.update(d1)#更新字典

# print(d)

# l=['name','age','sex']
# d={}
# for k in l:
#     d[k]=None
# d=dict.fromkeys(l,None)#格式化制造字典,将列表中每一个字符串当作key,然后None当作value

# print(d)

# info.setdefault
info={'name':'egon','age':18,'sex':'male'}
# 如果字典中有setdefault指定的key,那么不改该key对应的值,返回原的value
# res=info.setdefault('name','EGON_NB')
# print(info)

# print(res)

# 如果字典中没有setdefault指定的key,那么增加一个key:value,返回新的value
# info.setdefault('height',1.80)

# print(info)

# #二:该类型总结
# 1 存一个值or存多个值
#     可以存多个值,值都可以是任意类型,而key必须是不可变类型,通常应该是不可变类型中字符串类型
# 2 有序or无序
# 无序
# 3 可变or不可变


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值