Python学习—字典

 今天是周六,八点钟就到自习室了,背了单词,学了运筹学前几堂课的内容,从基础的地方再巩固,从我的角度去看,这学期含金量最高的课就是运筹学了吧。

今天开始学了第六章——字典,稍微有点绕了,下午精神不是很好,效率就没办法保证,这几天学的知识没有系统的复习与巩固,Python明天暂停一天新知识的学习,明天复习一下这周学的知识,要保持每天都敲代码的习惯,一万行代码的任务一个月随随便便都能敲完吧。

#10.30练习
#字典
alien_0 = {"color":"green","points":5}   #字典是一系列的键值对,键值对中间用冒号(:)连接,最简单的字典只有一个键值对
print(alien_0["color"])
print(alien_0["points"])

alien_0 = {"color":"yellow","points":5,"language":"chinese"}
new_points = alien_0["points"]
print(f'You just earned {new_points},good jobs')
#添加键值对
alien_0 = {"color":"blue","points":100}
print(alien_0)
alien_0["x_position"]=0    #添加键值对的时候注意,值放在中括号外面
alien_0["y_position"]=152
print(alien_0)
#创建一个空字典
alien_0 = {}
alien_0["color"]="yellow"
alien_0["points"]=19
print(alien_0)

alien_0={"color":"yellow","points":17}
print(alien_0)
alien_0["color"]="blue"   #修改字典中的值
alien_0["points"]="89"
print(f"The alien's color is {alien_0['color']}")
print(alien_0["color"])

alien_0={"x_position":"0","y_position":15,"speed":"medium"}
print(f"Original position:{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(f"New position:{alien_0['x_position']}")

alien_0 = {"color":"yellow","points":17}
del alien_0["color"]   #删除键值对(删除的键值对会永远消失)
print(alien_0)

favorite_language = {
    "xiaolei" : "chinese",
    "xiaoyao" : "japenese",     #由多个对象组成的字典,每行前要缩进四个字符
    "xiaoli" : "english"        #每个键值对每行要用逗号(,)隔开
    }                           #最后一个花括号前面要缩进四个字符
language = favorite_language["xiaolei"].title()   #将xiaolei最喜欢的语言赋给变量language
print(f"xiaolei's favorite language is {language}")
print(favorite_language["xiaolei"])

alien_0={"x_position":"0","y_position":15,"speed":"medium"}
print(alien_0["color"])   #我想要color,但字典里没有color,此时就会运行报错
#使用get()来访问值
alien_0={"x_position":"0","y_position":15,"speed":"medium"}
value = alien_0.get("speed","No big value assigned")
value = alien_0.get("color","No big value assigned")  #get()的第一个参数用于指定键,第二个参数为指定的键不存在时要返回的值
print(value)
alien_0={"x_position":"0","y_position":15,"speed":"medium"}
value = alien_0.get("color")   #get()中没有指定第二个参数且指定的键不存在时,Python将返回None
print(value)
#P88小练习
xiaoma = {
    "first_name" : "xiao",
    "last_name" : "ma",
    "age" : 18,
    "city" : "beijing",
    }
value = xiaoma.get("gae","go back")
print(value)
xiaoma = {"first_name" : "xiao","last_name" : "ma","age" : 18,"city" : "beijing"}
print(xiaoma["city"])
favorite_numbers = {
    "xiaoli": "hahaha",
    'xiaoyong': 20,
    "xiaohan": 28,
    "xiaoye": 85,
}
print(favorite_numbers["xiaoye"])
language = favorite_numbers["xiaoli"].upper()
print(f"xiaoli's favorite language is {language}.")
value = favorite_numbers["xiaoye"]
print(f"xiaoye's favorite language is {value}.")

knowlege={
    "列表":"liebiao",
    "条件":"tioajian",
    }
print(knowlege["列表"])
print(knowlege)
knowlege={
    "列表":"liebiao",
    "条件":"tioajian",
    }
del knowlege['列表']
print(knowlege)
#遍历字典
user_0={
    "username":"xiaolei",
    "first":"xiao",
    "last":"lei"
    }
for key,value in user_0.items():
    print(key,value)
#items() 函数以列表返回可遍历的(键, 值) 元组。
#将字典中的键值对以元组存储,并将众多元组存在列表中。
#如:
favorite_places = {'XiaoMing': 'TJL','XiaoQiang':'Amercia','Dongsheng':'Japan'}
print("数值:%s" % favorite_places.items())
for key,value in favorite_places.items():
    print(key,value)
user_0={
    "username":"xiaolei",
    "first":"xiao",
    "last":"lei"
    }
for key,value in user_0.items():
    print(f'\nkey:{key}')
    print(f'\nvalue:{value}')

favorite_language = {
    "xiaolei" : "chinese",
    "xiaoyao" : "japenese",
    "xiaoli" : "english"
    }
for name,language in favorite_language.items():  #遍历每个键值对,将键赋值给name,将值赋值给language.
    print(f'{name.title()} is love {language}')
favorite_language = {
    "xiaolei" : "chinese",
    "xiaoyao" : "japenese",
    "xiaoli" : "english"
    }
for name in favorite_language:
    print(name.title())
favorite_language = {
    "xiaolei" : "chinese",
    "xiaoyao" : "japenese",
    "xiaoli" : "english"
    }
for name in favorite_language.keys():    #此处.keys加与不加没什么区别
    print(name.title())
favorite_language=["chinese","english","american"]
if "english" in favorite_language:
    print(f"Yes,I want to {favorite_language}!")
else:
    print("hahaha")
my_love={"fruit":"apple","girl":"xiaolei","animals":"dog"}
print(my_love["fruit"])
for love,loves in my_love.items():
    print(f"I like {love}:{loves}!")
#遍历字典中的所有键
my_love={"fruit":"apple","girl":"xiaolei","animals":"dog"}
for name in my_love.keys():
    print(name)
good_friends=["xiaoma","xiaolei","xiaopei"]
for name in good_friends:
    print(f"Hi,{name.upper()},you are my good friend")
else:
    print("Sorry")
good_friends={"xiaoma","xiaolei","xiaopei"}
for name in good_friends:
    print(name)
#按特定顺序遍历字典中的所有键
favorite_languages = {
    "jen":"python",
    "sarah":"C",
    "edward":"ruby",
    "phil":"python",
    }
for name,names in sorted(favorite_languages):     #用sorted()来获得按特定顺序排列的键列表
    print({name})
favorite_languages = {
    "jen":"python",
    "sarah":"C",
    "edward":"ruby",
    "phil":"python",
    }
for name,names in favorite_languages.items():
    print(f"{name}:{names}")
favorite_languages = {
    "jen":"python",
    "sarah":"C",
    "edward":"ruby",
    "phil":"python",
    }
for name in sorted(favorite_languages):
    print(f"{name.title()},thank you for taking the poll!")
#遍历字典中的所有值
favorite_languages = {
    "jen":"python",
    "sarah":"C",
    "edward":"ruby",
    "phil":"python",
    }
print("The following language have been mentioned")
for language in favorite_languages.values():    #用方法value()来返回一个值列表
    print(language.upper())

favorite_languages = {
    "jen":"python",
    "sarah":"C",
    "edward":"ruby",
    "phil":"python",
    }
print("The following language have been mentioned")
for language in set(favorite_languages.values()):    #用方法set()来剔除重复,使每个元素都独一无二
    print(language.upper())

##可用一对花括号表示集合,并在其中用逗号分隔各个元素
#如language={"python","C","Java"},表示一个集合
#注意区别字典,花括号内有键值对时才是字典

#P94小练习
favorite_numbers = {
    "xiaoli": "hahaha",
    'xiaoyong': 20,
    "xiaohan": 28,
    "xiaoye": 85,
    }
for number,numbers in favorite_numbers.items():
    print(f"{numbers}")
rivers={"nile":"egypt","huang_river":"china","mixixi":"usa"}
for river,river_1 in rivers.items():
    print(f"The {river} runs through {river_1}!")
for river in sorted(rivers):
    print(river)
for river_1 in rivers.values():
    print(river_1.upper())
investigators={
    'xiaolei':1,
    "xiaoma":2,
    "xiaopei":3,
    }
inviter={
    'xiaolei':1,
    "xiaopei":3,
    "xiaoha":1
}
for inviter_1 in inviter:
    if inviter_1 in investigators:
    print(f"{inviter_1.title()},thanks your help!")
else:
    print(f"{inviter_1.title()},you lai yi xia!")
#嵌套
alien_0={"color":"blue","age":"100","favor":'boy'}
alien_1={"color":"yellow","age":"28","favor":'boy'}
alien_2={"color":"red","age":"17","favor":'boy'}
aliens=[alien_0,alien_1,alien_2]
print(aliens)        #字典列表
for alien in aliens:
    print(alien)
aliens=[]
for alien_number in range(30):    #range(30)表示告诉Python要循环30次
    new_alien={"color":"red","age":"17","favor":'boy'}
    aliens.append(new_alien)
for alien in aliens[:5]:   #使用一个切片来打印前5个外星人,打印的数量小于循环的次数
    print(alien)
print(f"Total number of aliens:{len(aliens)}")

aliens=[]
for alien_number in range(30):
    new_alien = {"color": "yellow", "age": "17", "favor": 'boy'}
    aliens.append(new_alien)
for alien in aliens[:5]:
    if alien["color"]=="red":
       alien["color"]="blue"    #如果颜色为红色,则将其颜色改为蓝色,将其年龄改为25,将其爱好改为女孩
       alien["age"]=25
       alien["favor"]="girl"
    elif alien["color"]=="yellow":
        alien["color"] = "lightblue"  # 如果颜色为红色,则将其颜色改为蓝色,将其年龄改为25,将其爱好改为女孩
        alien["age"] = 38
        alien["favor"] = "animals"
for alien in aliens[:3]:     #显示前三个外星人
    print(alien)
#在字典中储存列表
favorite_languages={
    "jen":["python","C"],    #一个键关联到多个值
    "sarah":"ruby",
    "edward":["python","ruby"]
    }
for name,names in favorite_languages.items():
    print(f"xiaoma like {name.title()}:")
    for names in favorite_languages:
        print(f"{names.title()}")
print(len(names))      #看喜欢的语言有多少种
#在字典中存储字典
users={
    "aeinstein":{
    'first':'albert',
    'last':'einstein',
    'location':'princeton',
    },
    "mcurie":{
    'first':'xiaoma',
    'last':'xiaolei',
    'location':'together',
    },
  }
for username,use_info in users.items():
    print(f"\nUsername:{username}")
    full_name=f"{use_info['first']}{use_info['last']}"
    print(full_name)
#P100小练习
person={"xiaoma":"boy","xiaolei":"girl"}
person_1={"xiaoma_1":"boy_1","xiaolei_1":"girl_1"}
person_2={"xiaoma_2":"boy_1","xiaolei_2":"girl_2"}
people=[person,person_1,person_2]
print(people)

我现在开始学英语了,今天的Python就到这里吧! 

明天上午一节中特课,下午继续学习!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值