python字典讲解

#简单的字典有key,value  组成比如:
stu_info ={
'username':'xl',
'password': '123456',
'money': 20,
'addr': '上海浦东'
}

d1 = {}  # 创建字典
d2 = dict()  # 创建空字典

# 添加字典数据
d1['name'] = '胖妞'
d1['age'] = 18
d1.setdefault('class', '双子座')
print('之前的', d1)
d1.setdefault('age', 38) # 已存在的key,无法新增数据,不会修改原来的值
d1['name'] = '胖妞2' # 修改原来的值
print('之后的', d1)

# 修改字典数据
d1['name'] = '胖妞3'

# 取值

print(d1['name']) # key如果不存在 报错 keyError

print("get-->age:", d1.get('age', 0)) # key如果不存在返回None,也加逗号返回默认值

print(d1.keys()) # 取所有keys

print(d1.values()) # 取所有values

# 删除
# d1.pop('name')
del d1['class']
# d1.popitem()#随机删除一个key

# d1.clear() #清空

d2 = {"sex": "女"}

d1.update(d2)

print(d1)

list1 = [
{
"id": 2,
"name": "矿泉水",
"sex": "未知",
"age": 38,
"addr": "天通苑123",
"grade": "双子座123",
"phone": "12123654311",
"gold": 10
},
{
"id": 5668,
"name": "矿泉水",
"sex": "未知",
"age": 38,
"addr": "天通苑",
"grade": "双子座",
"phone": "12123654564",
"gold": 3202
}


]

#1、统计一下现有学生总共有多少金币
#2、找出金币小于100金币的学生姓名
#3、金币大于500金币,扣除300金币,小于等于100的人,加上200金币
all_gold=0
for user in list1:
gold=user.get('gold')
all_gold+=gold
if gold<=100:
print("%s金币小于100"%user.get('name'))
user['gold'] = gold + 200
if gold>500:
user['gold'] = gold - 300
print(list1)
print(all_gold)
上一篇:USACO 2016 January Contest Gold T2: Radio Contact


下一篇:审查(黄金)Censoring (Gold)