元组类型、字典类型

01 元组类型

# 一:基本使用
# 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不可变
# 不可变

# names=('alex','egon','wxx','lxx','cxxx','lxx')
# del names[0]
# names[0]='sb'
# print(names.count('lxx'))
# print(names.index('wxx',0,3))

# names=('alex','egon','wxx','lxx','cxxx','lxx')
# names=1

# l=[1,243,3]
# l=3333
# l=['a','b','c']
# print(id(l[0]))
# l[0]='A'
# print(id(l[0]))

# names=('a','b','c')

# 列表可变的底层原理:
# 指的是索引所对应的值的内存地址是可以改变的

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

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]))

 

02字典类型

#一:基本使用
# 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)

# dic={1:'a',0:'b',1.1:'c',(1,2,3):'d'}
# print(dic[1])
# print(dic[0])
# print(dic[1.1])
# print(dic[(1,2,3)])
# dic={[1,2,3]:'a'}
# dic={{'x':1}:'a'}

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

# l=['a','b']
# l[2]='c'

#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')
# print(d)
# print(res)

# res=d.popitem()
# print(d)
# print(res)

# d={'a':1,'b':2,'c':3,'d':4}
# for k in d:
#     print(k)

# l=[1,2,3]
# del l[1]
# print(l)

#5、键keys(),值values(),键值对items()
msg_dic={
'apple':10,
'tesla':100000,
'mac':3000,
'lenovo':30000,
'chicken':10,
}
# names=[]
# for k in msg_dic:
#     names.append(k)
# print(names)
# values=[]
# for k in msg_dic:
#     values.append(msg_dic[k])
# print(values)

# keys=msg_dic.keys()
# print(keys)
# for k in keys:
#     print(k)=
# l=list(keys)
# print(l)

# vals=msg_dic.values()
# print(vals)
# print(list(vals))

# print(msg_dic.items())
# print(list(msg_dic.items()))
#6、循环
msg_dic={
'apple':10,
'tesla':100000,
'mac':3000,
'lenovo':30000,
'chicken':10,
}
# 只取key
# for k in msg_dic:
#     print(k,msg_dic[k])

# for k in msg_dic.keys():
#     print(k,msg_dic[k])

# 只取value
# for v in msg_dic.values():
#     print(v)

#取key和value
# for k,v in msg_dic.items(): #k,v=('apple', 10)
#     print(k,v)

# 需要掌握的内置方法(****)
# d={'x':1,'y':2,'z':3}
# v=d.get('xxxx')
# 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)
# 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)

# info={'age':18,'sex':'male'}
# v=info.setdefault('name','浩哥')
# print(v)

s='hello alex alex say hello sb sb'
l=s.split()
# print(l)
d={}
# for word in l: #word=  'hello'
#     if word not in d:
#         d[word]=1 #{'hello':2, 'alex':2,'say':1}
#     else:
#         d[word]+=1
# print(d)

s='hello alex alex say hello sb sb'
l=s.split()
print(l)
d={}

# d={'hello':2,'alex':2}
for word in l: #word='alex'
    # d[word]=l.count(word) #d['alex']=2
    d.setdefault(word,l.count(word))

print(d)


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

d={'x':1,'y':2}
# print(id(d))
# d['x']=1111
# print(id(d))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值