字典

基本用法

#用户名  密码  电话  住址

stus = [
             ['小黑','123','110','beijingshi',200],
             ['小黑','123','110','beijingshi',200],
             ['小黑','123','110','beijingshi',200],
             ['小黑','123','110','beijingshi',200],
             ['小黑','123','110','beijingshi',200],
             ['小黑','123','110','beijingshi',200],
        ]


stu_info = {
    'username':'xiaohei',
    'password':'123456',
    'money':20,
    'addr':'北京'
}

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

#增加元素
d1['name'] = 'xiaopang'
d1['age'] = 18
d1.setdefault('class','双子座')        #使用setdefault的方法,key已经存在了,不会修改原来key的值
print(d1)
d1.setdefault('age','38')

#修改
d1['name'] = 'xiaopang2'        #不管是否存在,都修改原来的值

#取值
print(d1)
print(d1['age'])
print(d1.get('name'))
#取不存在的key
print(d1.get('sex'))   #提示None
# print(d1['sex'])  #出现报错

print(d1.get('money',0))

print(d1.keys())        #取到字典里所有的key
print(d1.values())      #取到字典里所以的value

#删除
# d1.pop('name')
# del d1['name']
# d1.popitem()  #随机删除一个元素
# d1.clear() #清空
# print(d1)
#
# d2 = {'abc':'1234'}
# d1.update(d2)
print(d1)

字典循环取值

users = {
    "meteor":'123456a',
    "meteor1":'12345asd6',
    "meteor2":'1234asd56',
    "meteor3": '12345s6',
    "meteor4": '123sf456',
    "meteor5": '123sdf456',
    "meteor6": '12345sdf6',
    "meteor7": '12345s6',
    "meteor8": '12345aadf6',

}

# 把账号加入到密码中,放在最前面 :username_ +密码
#     1.循环字典
#     2.把value修改成value = key_+value
# for k in users:           #直接循环一个字典,取到的值是key
#     value = users[k]      #通过key取到value
#     users[k] = '%s_%s'%(k,value)
# print(users)
#

for k,v in users.items():
    users[k] = '%s_%s'%(k,v)
    # print('%s==%s'%(k,v))
print(users)

字典的小例子

#1.计现有学生总共有多少金币
#2.找出金币小于100的学生姓名
#3.金币大于500的学生,扣去300金币

users = [
                {
                        "id": 2,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑123",
                        "grade": "双子座123",
                        "phone": "12123654311",
                        "gold": 34000
                },
                {
                        "id": 5668,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123654564",
                        "gold": 3202
                },
                {
                        "id": 5675,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12188888888",
                        "gold": 800
                },
                {
                        "id": 5714,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123654529",
                        "gold": 100
                },
                {
                        "id": 6307,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "15901242111",
                        "gold": 200
                },
                {
                        "id": 6360,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "15901211111",
                        "gold": 100
                },
                {
                        "id": 8284,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123624957",
                        "gold": 100
                },
                {
                        "id": 8285,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123648939",
                        "gold": 100
                },
                {
                        "id": 8286,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123685106",
                        "gold": 100
                },
                {
                        "id": 8287,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123640038",
                        "gold": 100
                },
                {
                        "id": 8288,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123625688",
                        "gold": 100
                },
                {
                        "id": 8289,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123634296",
                        "gold": 100
                },
                {
                        "id": 8290,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123662942",
                        "gold": 100
                },
                {
                        "id": 8291,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123656275",
                        "gold": 100
                },
                {
                        "id": 8292,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123676705",
                        "gold": 100
                },
                {
                        "id": 8293,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123673379",
                        "gold": 100
                },
                {
                        "id": 8307,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123618698",
                        "gold": 100
                },
                {
                        "id": 8308,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123610039",
                        "gold": 100
                },
                {
                        "id": 8309,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123675980",
                        "gold": 100
                },
                {
                        "id": 8310,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123629672",
                        "gold": 100
                },
                {
                        "id": 8311,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123689607",
                        "gold": 100
                },
                {
                        "id": 8312,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123638612",
                        "gold": 100
                },
                {
                        "id": 8313,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123628322",
                        "gold": 100
                },
                {
                        "id": 8314,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123663283",
                        "gold": 100
                },
                {
                        "id": 8315,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123634676",
                        "gold": 100
                },
                {
                        "id": 8316,
                        "name": "矿泉水",
                        "sex": "未知",
                        "age": 38,
                        "addr": "天通苑",
                        "grade": "双子座",
                        "phone": "12123680540",
                        "gold": 100
                },
                {
                        "id": 9909,
                        "name": "矿泉水",
                        "sex": "男",
                        "age": 15,
                        "addr": "中国湖南",
                        "grade": "双子座",
                        "phone": "12345679999",
                        "gold": 100
                },
                {
                        "id": 10277,
                        "name": "矿泉水",
                        "sex": "男",
                        "age": 18,
                        "addr": "北京市昌平区",
                        "grade": "双子座",
                        "phone": "15249211246",
                        "gold": 100
                }
]

#1.计现有学生总共有多少金币
    #1.循环users的list
    #2.从user的字典里取到gold的值
    #3.把每次的值相加

all_gold = 0

for user in users:
    all_gold += user.get('gold')
    # all_gold = user.get('gold') + all_gold
print(all_gold)
#2.找出金币小于100的学生姓名
    #1.循环users的list
    #2.从user的字典里取到gold的值
    #3.判断gold的值是否小于100
for user in users:
    gold = user.get('gold')
    if gold <=100:
        print('%s的金币小于等于100'%user.get('name'))


#3.金币大于500的学生,扣去300金币,小于100的人。加上200金币
    # 1.循环users的list
    # 2.从user的字典里取到gold的值
    # 3.判断gold的值,小于100的加200,大于500的减300
for user in users:
    gold = user.get('gold')
    if gold <=100:
        user['gold'] = gold + 200
    if gold > 500:
        user['gold'] = gold - 300
print(users)


# a = [1,2,3,4,5,6,7,8,9,10]
# sum = 0
# for i in a:
#     sum += i
# print(sum)

for user in users:
    print(user)

posted @ 2019-04-18 19:48  狂爷  阅读(158)  评论(0编辑  收藏  举报