阿杰Python一招解决字典

字典是一系列键值对,每个键都与一个值相关联,可以使用键来访问对应的值。

Python中字典用放在花括号({})中的一系列键值对表示:

alien_0 ={'color':'green',‘points':5}

对于字典你想储存多少个键值对都可以 

对字典的访问

指定字典名和放在方括号内的键。

 alien_0 ={'color':'green',‘points':5}

print(alien_0['color'])

print(alien_0['points'])

添加键值对

要添加键值对,需依次指定字典名用方括号括起的键和相关联的值

alien_0['x.position']=10

alien_0['y.positiom']=25 

字典的元素顺序与你定义的元素顺序相同,但如果字典打印出来或遍历其元素,元素的排列顺序与添加顺序相同

alien_0 ={'color':'green',‘points':5}

alien_0['x.position']=10

alien_0['y.positiom']=25 

print(alien_0)

{'color' : 'green' ,  ‘points' : 5 , 'y.position' :25 , 'x.position' : 10}

注意此时你添加的键值对是按照栈的顺序排列。

修改字典中的值

依次指定字典名、用方括号包括的键以及与键关联的新值 

 alien_0 ={'color':'green',‘points':5}

 alien_0['color] ='red'                                            \\  修改字典的值

删除字典中的值 

只需要del 加对应的键位

alien_0 ={'color':'green',‘points':5} 

del alien_0[' points ']                                             \\删除points键

类似对象组成字典

 favorite_languages ={

        'jen' : 'python',

        'sarah' : 'c',

        'edward' : 'ruby',

        'phil' : 'python'

        }

   

把对象的一些信息都储存在字典中,定义格式最好像上面所示,一个花括号,下一行一个缩进符加键位加键值,后接一个逗号,依此这样,最后一行补上花括号。

 字典名 ={

        ’键位名1‘ :’键位值1' ,

        '键位名2’ : ‘键位值2’ ,

        '键位名3’ : ‘键位值3’ ,

        ·····

        }

get()来访问值(既可以访问字典存在的键的值,也可以访问字典中不存在的键的值)

 alien_0 ={'color':'green',‘points':5}

 print(alien_0['points'])

//会出错,因为字典中没有points键。

number_value = alien_0.get( 'number'  : 'No number value assigned']

print(number_value)                //输出'No number value assigned'

如果get()函数中不加第二个参数,就会打印出None,代表值不存在。

 .items()用两个for循环遍历字典中的所有键值对

people ={
    'first_name' : '阿',
    ' last_name' : '杰',
    'age' : '19',
    'city' : '湖南'
}
for key,value in people.items():
    print(f"\n{key}")
    print(value)

 .keys()遍历字典中的所有键

people ={
    'first_name' : '阿',
    ' last_name' : '杰',
    'age' : '19',
    'city' : '湖南'
}
for key in people.keys():
    print(f"\n{key}")

.values()遍历字典中的所有值

 在遍历值中可能有些值是一样的,如果直接打印会出现重复的值,我们可以用set()函数来消除重复项。

people ={
    'first_name' : '林',
    ' last_name' : '志杰',
    'age' : '19',
    'city' : '邵阳'
}
for value in people.values():
    print(value)

集合和字典的区别 

他们都是用花括号来定义,当花括号内无键值对是,就是集合。

集合不会以特定的顺序来储存元素。

languages ={'python' , 'C' , 'C++' , 'python'}

print(languages)                                                 //集合的打印会自动消除重复项

 嵌套的使用

字典列表:

同时有多个字典,可全部访问所有列表中的信息。

alien_0 ={'color':'green','points':5}

alien_1={'color':'red','points':10}

alien_3={'color':'blue','points':15}

aliens=[alien_0,alien_1,alien_2]

for alien in aliens:

        print(alien) 

aliens=[]

for alien_number in range(30):                             \\执行循环30次,增加30个绿外星人

        new_alien ={'color':'greem','points':5}

        aliens.append(new_alien)

for alien in aliens[0:5]

        print(alien) 

在字典中储存列表

有些键需要关联多个值时:

favorite_languages = {
    'jen': ['python', 'ruby'],
    'sarah': ['c'],
    'edward': ['ruby', 'go'],
    'phil': ['python', 'c++']

}
for name, languages in favorite_languages.items():
    print(f"\n{name.title()}'s languages:")
    for language in languages:      //在这里也是用一个for循环来遍历languages中的列表
        print(language.title())

字典中储存字典

cities = {
    'changsha': {
        'country': 'china',
        'province': 'hunan',
        'popular_place': 'window of world'
    },
    'bingdao': {
        'country': 'gelinlangdao',
        'province': 'aerlan',
        'popular_place': 'beijinxing'
    },
    'shanghai': {
        'country': 'china',
        'province': 'shanghaishi',
        'popular_place': 'dongfanmingzhu'
    }
}
for city_name, scenes in cities.items():         //在这里是把scenes看成了一个字典名
    print(f"\n{city_name.title()}")
    value = f"{scenes['country']},{scenes['province']},{scenes['popular_place']}"
    print(value)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值