元祖和字典
Posted zhouxiang9193
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了元祖和字典相关的知识,希望对你有一定的参考价值。
#一:基本使用
# 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]))
#一:基本使用
# 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)
以上是关于元祖和字典的主要内容,如果未能解决你的问题,请参考以下文章