Python学习之路(六)字典

1.一个简单的字典

alien_0={'color':'green','points':'5'}
print(alien_0['color'])
print(alien_0['points'])

2.使用字典

字典是一系列键值对,与键相关联的值可以是数字字符串列表乃至字典

访问字典中的值

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

alien_0 = {'points':'5'}
new_points = alien_0['points']
print("You just earned "+str(new_points)+" points")

添加键值对

指定字典名用方括号括起的键和相关联的值

alien_0={'color':'green','points':5}
print(alien_0)

alien_0['x_position']=0
alien_0['y_position']=25
print(alien_0)

创建空新典

alien_0={}
alien_0['color']='green'
alien_0['points']=5
print(alien_0)

修改字典中的值

可依次指定字典名用方括号括起的键以及与该键相关联的新值

alien_0={'x_position':0,'y_position':25,'speend':'medium'}
print("Original x_position:"+str(alien_0['x_position']))

if alien_0['speend']=='slow':
    x_increment = 1
elif alien_0['speend'] == 'medium':
    x_increment = 2
else:
    x_increment = 3
alien_0['x_position']=alien_0['x_position']+x_increment
print("New x_position:"+str(alien_0['x_position']))

删除键值对

可使用del,必须指定字典名和要删除的键

alien_0={'color':'green','points':5}
print(alien_0)
del alien_0['points']
print(alien_0)

由类似对象组成的字典

favorite_languages = {
        'jen':'python',
        'sarah':'c',
        'edward':'ruby',
        'phil':'python',
        }
print("Sarah's favorite language is "+favorite_languages['sarah'].title()+".")

3.遍历字典

遍历所有键值对

items()

user_0={'username':'efermi',
        'first':'enrico',
        'last':'fermi',
        }
for key,value in user_0.items():
    print("\nKey:"+key)
    print("value:"+value)

遍历字典中的所有键

keys()

favorite_languages = {
        'jen':'python',
        'sarah':'c',
        'edward':'ruby',
        'phil':'python',
        }
for name in favorite_languages.keys():   #省略keys()也可以     
    print(name.title())
 
#指定键遍历
friends = ['phil','sarah']
for name in favorite_languages.keys():
    print(name.title())
    if name in friends:
        print(" Hi "+name.title()+",I see your favorite language is "+favorite_languages[name].title()+"!")

#查看键是否存在字典中
if 'erin' not in favorite_languages.keys():
    print("Erin,please take our poll!")

按顺序遍历字典中的所有键

使用sorted()在for循环中对返回的值进行排序

favorite_languages = {
        'jen':'python',
        'sarah':'c',
        'edward':'ruby',
        'phil':'python',
        }

for name in sorted(favorite_languages.keys()):
    print(name.title()+",thank you for taking the poll.")

遍历字典中的所有值

values()

favorite_languages = {
        'jen':'python',
        'sarah':'c',
        'edward':'ruby',
        'phil':'python',
        }
print("The following languages have been menioned:")

for language in favorite_languages.values():
    print(language.title())
print("\n")

for language in set(favorite_languages.values()):   #使用set()剔除重复值
    print(language.title())

4.嵌套

列表中存储字典

aliens = [] #创建一个可存储的空列表

for alien_numbr in range(30):   #循环30次
    new_alien={'color':'green','points':5,'speed':'slow'}
    aliens.append(new_alien)

for alien in aliens[:3]:    #修改前三个字典
    if alien['color'] == 'green':
        alien['color'] = 'yellow'
        alien['speed'] = 'medium'
        alien['points'] = 10

for alien in aliens[:5]:    #显示前五条信息
    print(alien)
print("...")

字典中存储列表

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

for name,languages in favorite_languages.items():
    print("\n"+name.title()+"'s favorite languages are:")
    for language in languages:
        print("\t"+language.title())

字典中存储字典

users = {
        'aeinstein':{
            'first':'albert',
            'last':'einstein',
            'location':'princeton',
            },

        'mcurie':{
            'first':'marie',
            'last':'curie',
            'location':'paris',
            },
        }

for username, user_info in users.items():
    print("\nUsername:"+username)
    full_name = user_info['first']+" "+user_info['last']
    location = user_info['location']

    print("\tFull name:"+full_name.title())
    print("\tLocation:"+location.title())

5.小结

定义字典以及如何使用存储在字典中的信息;访问修改字典中的元素,以及如何遍历字典中的所有信息;遍历字典中的键值对,键和值;列表中嵌套字典,字典嵌套列表以及字典嵌套字典。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值