python中字典的输出序列_python3:序列_字典(常用基础知识)

#字典:

'''字典:无序的、可变的序列,也称关联数组,或散列表

①格式{键:值}

②通过键读取元素

③字典是任意对象的无序集合

④字典可任意嵌套,如元素可以为列表、字典、列表的列表等

⑤字典的键必须是唯一的。不可重复,如果重复了,则已最后的键对应的值为准。

⑥字典中的键是不可变的,即键可以添加,不可以修改。'''

#字典有很多继承序列的内容如下:#序列索引从0开始,从最后起则索引为-1

#空字典

print('空字典1:',{},"空字典2:",dict())

a= {'4':20,'1':35,'6':30,'5':25}

c= {'c1键':"c1",'c2键':"c2",'c3键':"c3"}

b= {'4':'小一','5':'小二','6':'小三'}

aa= {range(1,11,2)}print(aa)print(a['1']) #输出'a1键'对应的值

'''python3中字典合并的几个方法如下。注意,合并的字典中对应的键类型应该一致,

否则如果键值有的是字符串,有的是数字,则提示:TypeError: keyword arguments must be strings'''

#字典的合并方法1

print('字典的合并方法1:',dict(a, **b))#字典的合并方法2

ab =a.copy()

ab.update(b)print('字典的合并方法2:',ab)#字典的合并方法3

ab =dict()

ab.update(a)

ab.update(b)print('字典的合并方法3:',ab)#检查字典成员

print('小三' in b) #in 在,not in 不在,结果:False,因为默认检查的是字典的键,而不是值

print('6' in b) #in 在,not in 不在,结果:True

print('小三' in b.values()) #in 在,not in 不在,结果:True(可以用值去判断)

#序列长度、最大值、最小值;%d数字替代符,n\换行符

print("序列长度:%d\n序列最大值:%r\n序列最小值:%r" %(len(a),max(a),min(a))) #默认比较的是键值

print("序列长度:%d\n序列最大值:%r\n序列最小值:%r" %(len(a),max(a.values()),min(a.values()))) #比较的是字典的值

print(dict(a)) #序列转为字典

print(str(a)) #序列转为字符串

print(sum(a.values())) #序列元素+

#-------------------字典-------------------------#除了对元素的顺序和内容不可添加、修改、删除外,字典有很多同列表一样的功能#遍历字典

print('遍历字典每项键方法1:')for item ina:print(item)print('遍历字典每项键方法2:')for item ina.keys():print(item)print('遍历字典每项值方法:')for item ina.values():print(item)print('遍历字典每项键和值方法:')for item ina.items():print(item)#将a分两列输出 笨方法

print('将a的值分两列输出,笨方法')for item ina.items():for index initem[0]:if int(index)%2 ==0:print(item[1],'\t\t',end='') #\t:横向空出一个制表符的位置;end='':接下来输出的内容不要换行显示,即:index 0不换行,1换行,2不换行,3换行

else:print(item[1])#将a分两列输出 简易方法

print('将a的值分两列输出,简易方法')for index,item ina.items():if int(index)%2 ==0:print(item,'\t\t',end='') #\t:横向空出一个制表符的位置;end='':接下来输出的内容不要换行显示,即:index 0不换行,1换行,2不换行,3换行

else:print(item)

shuzi= (128,512,309)

daihao= ['SY','JX','JN']

jiancheng= ['SY','JX','JN','SP','TX']

xingzuo= ['双鱼','巨蟹','金牛','水瓶','天蝎']#创建字典

di10 = dict.fromkeys(shuzi) #key为shuzi,value为空的字典

di11 = dict(zip(shuzi,daihao)) #生成字典

di12 = dict(zip(jiancheng,xingzuo)) #生成字典,注意,如果想让一个作为key的内容不可为列表,因为列表是可变的,必须为字典等不可变得内容#生成字典,注意,如果想让一个序列作为key,那么这个序列不可以是列表,因为列表是可变的,提示错误:TypeError: unhashable type: 'list'#di3 = {jiancheng:xingzuo}

print('di11:',di11)print('di12:',di12)print('返回删除的指定的键',di11.pop(309))print('返回删除的随意的键和值的信息',di11.popitem())

di11.clear()#清空字典

print(di11)print("如果指定的键存在,则返回该键的值,方法1:",di12['JN'])print("如果指定的键存在,则返回该键的值,方法1:",di12['SY'] if 'SY' in di12 else "没有这个简称啦~")print("如果指定的键存在,则返回该键的值,方法1:",di12['SY'] if 'SY1' in di12 else "没有这个简称啦~")print("如果指定的键存在,则返回该键的值,方法2:",di12.get('JX',"哟,您老的记忆力真好,可惜没有啦~"))print("如果指定的键存在,则返回该键的值,方法2:",di12.get('JX2',"哟,您老的记忆力真好,可惜没有啦~"))

dd1= dict(zip(shuzi,daihao)) #生成:数字、代号字典

dd2 = dict(zip(jiancheng,xingzuo)) #生成:代号、星座字典#返回128对应的代号和星座

print('128对应的代号是:',dd1.get(128),'\n128对应的星座是:',dd2.get(dd1.get(128)))

dd1[603] = 'M'#添加字典元素

dd1[309] = 'P'#修改字典元素

del dd1[309] #删除字典元素

print(dd1)#字典推导式:(用列表创建的表达式依然可成功创建,******注意:记得加上dict()******)、、

dd11= {i:j for i,j in zip(shuzi,daihao)} #用推导式生成

print(dd11)#生成指定范围的数值字典

importrandom

d= {i:random.randint(11,20)*2 for i in range(1,7)} #random.randint(30,90)*2:元素表达式,i:针对后面range的循环变量

print('d:',d)#生成指定需求的字典,如d的5折

e = {i:int(x*0.5) for i,x in zip(range(1,len(d)),d)} #x*0.5:元素表达式;x:d中的元素,i的长度为d的长度

print('e:',e)#生成符合条件的字典,如f字典需要0.5的d元素,且0.5d元素依然为偶数

f = {i:int(x*0.5) for i,x in zip(range(1,len(list(int(x*0.5) for x in d))),d) if int(x*0.5)%2==0}#x*0.5:元素表达式;x:d中的元素 i的长度为符合条件的列表的长度,也可以写为元组 len(tuple(int(x*0.5) for x in d))

print('f:',f)#创建数字字典

ff = {range(1,13,3)}print(ff)#二维字典#使用推导式创建二维字典(用列表创建的表达式依然可成功创建)

g ={i:[random.randint(3,8) for j in range(3) ] for i in range(1,4)}print(g)print(g[1][2]) #key1对应的值中的第2个下标中的值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值