2017.12.14-字典

#可以存放多个值(元组,列表,字典),Key:value 存取速度快,无序,可变类型
# 元组:数值相同,占空间最低
# 列表:在元组基础上,可以修改元素
# 字典:数值相同,占空间最高,存取速度最快,存取值通过key,方便,,在列表基础上,为每一个值找到映射关系
#key必须是不可变类型(int,float,str,tuple);value可以是任意类型
# info={'name':'wangxin','age':30,'job':'IT'}
# print(info,type(info))
# info=dict(name='wangxin',age=18,job='IT')
# print(info)
# info=dict([('name','wangxin'),('age',18),('job','IT')])
# print(info)

# info={}.fromkeys(['name','age'],None)
# print(info) #{'name': None, 'age': None}
# info={}.fromkeys('namee',None) #字典不取重
# print(info) #{'n': None, 'a': None, 'm': None, 'e': None} 字典key不能重复

# info={'name':'wangxin','age':30,'job':'IT'}
#1、按key存取值:可存可取
# print(info['name']) #wangxin
# info['age']=20
# print(info) #{'name': 'wangxin', 'age': 20, 'job': 'IT'}
#2、长度len
# print(len(info))
#3、成员运算in和not in 按照key判断
# print('job'in info)
#4、删除
# a=info.pop('name')
# print(a) #wangxin
# print(info) #{'age': 30, 'job': 'IT'}
# a=info.pop() #列表默认从右面删,字典报错
# print(a) #TypeError: pop expected at least 1 arguments, got 0

# a=info.popitem() #('job', 'IT')
# print(a)
# print(info) #{'name': 'wangxin', 'age': 30}
#5、键keys(),值values(),键值对items() 可以被for循环,循环
# print(info.keys()) #dict_keys(['name', 'age', 'job'])
# print(info.values()) #dict_values(['wangxin', 30, 'IT'])
# print(info.items()) #dict_items([('name', 'wangxin'), ('age', 30), ('job', 'IT')])
# print(list(info.values())) #['wangxin', 30, 'IT']
# print(list(info.values())[0]) #wangxin
#6、循环
# info={'name':'wangxin','age':30,'job':'IT'}

# for i in info.values():
# print(i)

'''
#简单购物车,要求如下:
实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用户重新输入  
msg_dic={
'apple':10,'tesla':100000,'mac':3000,'lenovo':30000,'chicken':10,} '''
# msg_dic={
# 'apple':10,
# 'tesla':100000,
# 'mac':3000,
# 'lenovo':30000,
# 'chicken':10,
# }
# info=[]
# print(msg_dic)
# while True:
# name= input('商品:')
#
# if name in msg_dic:
# price = msg_dic[name]
# info.append(name)
# info.append(price)
# else:
# print('请输入列表中商品')
# continue
# number = input('数量:')
# if number.isdigit():
# number=int(number)
# info.append(number)
# break
# else:
# print('请输入数量')
# continue
# print(info)





# msg_dic={
# 'apple':10,
# 'tesla':100000,
# 'mac':3000,
# 'lenovo':30000,
# 'chicken':10,
# }
# goods_l=[]
# while True:
# for key,item in msg_dic.items():
# print('name:{name} price:{price}'.format(price=item,name=key))
# choice=input('商品>>: ').strip()
# if not choice or choice not in msg_dic:
# continue
# count=input('购买个数>>: ').strip()
# if not count.isdigit():
# continue
# goods_l.append((choice,msg_dic[choice],count))
#
# print(goods_l)


# info={'name':'wangxin','age':30,'job':'IT'}
# print(info['age'])
# print(info.get('age')) #30
# info.get('aaaaaaaaasdasd')
# print(info.get('aaaaaaaaasdasd')) #none
# print(info.get('aaaaaaaaasdasd','qweqwe')) #qweqwe

#setdefaule 如果key存在,则不修改,返回原有key的value,如果key不存在,则添加到字典中
# value=info.setdefault('sex','male')
# print(value) #male
# print(info) #{'name': 'wangxin', 'age': 30, 'job': 'IT', 'sex': 'male'}
# value= info.setdefault('age',10)
# print(value) #30
# print(info) #{'name': 'wangxin', 'age': 30, 'job': 'IT', 'sex': 'male'}

# info={'name':'wangxin','age':30,'job':'IT'}
# # info.setdefault('hobby',['music','read'])
# # print(info) #{'name': 'wangxin', 'age': 30, 'job': 'IT', 'hobby': ['music', 'read']}
# hobby1=info.setdefault('hobby',[])
# print(hobby1) #[]
# hobby1.append('music')
# hobby1.append('read')
# print(info) #{'name': 'wangxin', 'age': 30, 'job': 'IT', 'hobby': ['music', 'read']}

posted on 2017-12-15 10:21  泽禹W  阅读(122)  评论(0编辑  收藏  举报

导航