python编程 从入门到实践 第六章 字典

学习笔记:

# 一个简单的字典
alien_0={'color':'green','points':'5'}
print(alien_0['color'])
print(alien_0['points'])

#6.2 使用字典
## 字典是一系列键—值对,每个键都有一个值相关联,,,键和值之间用冒号分隔,键—值对之间用逗号分隔,

#6.2.1 访问字典中的值
print(alien_0['color'])
## 获取与键相关联的值,可依次指定字典名和放在括号内的键,,将返回字典alien_0中与‘color’的值

new_points=alien_0['points']
print("you just earned "+ str(new_points)+" points!")

#6.2.2 添加键—值对
alien_0={'color':'green','points':'5'}
print(alien_0)
alien_0['x_position']=0
alien_0['y_position']=25
print(alien_0)
## 将键进行赋值

#6.2.3 先创建一个空字典
alien_0={}
alien_0['color']='green'
alien_0['points']=6
print(alien_0)

#6.2.4 修改字典的颜色
alien_0={'color':'green'}
print(alien_0)
print("修改颜色")
alien_0['color']='yello'
print(alien_0)

alien_0={'x_position':0,'y_position':25,'speed':'medium'}
print('original x_position is '+str(alien_0['x_position']))
if alien_0['speed']=='slow':
    x_increment=1
elif alien_0['speed']=='medium':
    x_increment=2
else:
    x_increment=3
alien_0['x_position']=alien_0['x_position']+x_increment
print("new x_position is "+str( alien_0['x_position']))
## 首先定义了一个外星人,包含初始x,y坐标,和速度,,用if-elif-else结构来确定外星人移动多远,并将移动的值存在x_increment,再将改变的值加入到新的x_position中,

#6.2.5 删除键—值对
alien_0={'color':'green','points':'5'}
print(alien_0)
del alien_0['points']
print(alien_0)
##del语句将永远删除键—值对

#6.2.6 由类似对象组成的字典
favorite_languages={
        'jen':'python',
        'sarah':'c',
        'daming':'java',
        'sam':'c++',
}
## 将一个较大的字典放在多行中,每个键—值对都用逗号隔开,且缩进进行对齐,在最后一个后面最好也加一个逗号
print("sam's favorite language is "+ favorite_languages['sam'].title()+' .')

#6.3 遍历字典
#6.3.1  遍历所有的键—值对
user_0={
    'username':'luluhuang',
    'first':'lulu',
    'last':'huang',
}
for key,value in user_0.items():
    print("\nkey: "+key)
    print("value: "+value)
## for循环依次将每个键—值对存储在指定的两个变量里,使用两个变量来依次进行打印,
## 值的返回顺序和存出顺序不同
##         item()方法  字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组

#6.3.2 遍历字典中的所有键
favorite_languages={
        'jen':'python',
        'sarah':'c',
        'daming':'java',
        'sam':'c++',
}
for name in favorite_languages.keys():
    print(name.title())
## for 循环用来提取字典中的所有的键,并依次将他们存储在变量name中,但是用keys()方法和 for name in favorite_languages的输出一样
## 但是使用keys()方法会使代码更容易理解
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()+"!")
## 方法keys()返回一个列表其中包含字典中的所有的键,
if 'erin' not in favorite_languages.keys():
    print("erin, please take your poil!")

# 6.3.3 按顺序遍历字典中的所有键
favorite_languages={
        'jen':'python',
        'sarah':'c',
        'daming':'java',
        'sam':'c++',
}
for name in sorted(favorite_languages.keys()):
    print(name.title()+", thank you! ")
## 在for循环中对返回的值进行排序,使用sorted()方法按特定顺序排列键,在遍历前进行排序,

# 6.3.4 遍历字典中的所有值
print("the following languages have been mentioned:\n")
for language in favorite_languages.values():
    print(language.title())
## 方法value(),返回一份值列表,

for language in set(favorite_languages.values()):
    print(language.title())

## 集合set类似于列表,但每个元素都是独一无二的,

#6.4 嵌套
# 6.4.1 字典列表
alien_0={'color':'green','points':'5'}
alien_1={'color':'yellow','points':'10'}
alien_2={'color':'red','points':'15'}

aliens=[alien_1,alien_1,alien_2]
for alien in aliens:
    print(alien)
print("\n")
## 首先创建了三个字典,每个字典都代表一个外星人,然后将外星人都放在一个列表内,,最后遍历列表进行输出
aliens=[]
## 首先创建一个存储外星人的空列表
for alien_number in range(30):  ##创建30个外星人
    new_alien={'color':'green','points':'5','speed':'slow'}
    aliens.append(new_alien)
## 显示五个外星人
for alien in aliens[:5]:
    print(alien)
print('...')
##显示创建了多少个外星人
print("totle number of aliens : "+str(len(aliens)))
## range()返回一系列的数字,来确定要循环多少次,每循环一次,就创建一个外星人,并将其附加到列表aliens的末尾,
##再使用切片进行打印5个字典外星人
aliens=[]
## 首先创建一个存储外星人的空列表
for alien_number 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['points']='5'
        alien['speed']='medium'
## 显示五个外星人
for alien in aliens[:5]:
    print(alien)
print('...')
##显示创建了多少个外星人
print("totle number of aliens : "+str(len(aliens)))

aliens=[]
## 首先创建一个存储外星人的空列表
for alien_number in range(30):  ##创建30个外星人
    new_alien={'color':'green','points':'5','speed':'slow'}
    aliens.append(new_alien)
for alien in aliens[0:3]:
    if alien['color']=='green':
        alien['color']='yellow'
        alien['points']='5'
        alien['speed']='medium'
    elif alien['color']=='yellow':
        alien['color'] = 'red'
        alien['points'] = '15'
        alien['speed'] = 'max'
## 显示五个外星人
for alien in aliens[0:5]:
    print(alien)
print('...')
##显示创建了多少个外星人
print("totle number of aliens : "+str(len(aliens)))

#在字典中存储列表
pizza={
    'crust':'thick',
    'topping':['mushrooms','extra cheese'],
}
print("you ordered a "+pizza['crust']+"-crust pizza "+"with the following tippings: ")
for topping in pizza['topping']:
    print("\t"+topping)
## 先创建一个字典,存储有关顾客所点的披萨的信息,用for循环访问配料列表,使用键'topping'从字典中提取配料列表
## 每当在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表
favorite_languages={
        'jen':['python','ruby'],
        'sarah':['c'],
        'daming':['java','go'],
        'sam':['c++','python'],
}
for name,languages in favorite_languages.items():
    print("\n"+name.title()+"'s favorite languages are: ")
    for language in languages:
        print('\t'+language.title())

# 6,4.3 字典中存储字典
users={
    'daming':{
        'first':'daming',
        'last':'li',
        'location':'princeton',
    },
    "lingling":{
        'first': 'lingling',
        'last': 'huang',
        '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())

GOOD LUCK!!! 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值