For what is friendship
试问何为友谊
if not a willingness to give
友谊是润物细无声
to give laughter
让你破涕为笑
where there are tears
当你伤心落泪时
comfort where there are fears
担惊受怕时让你安心落意
pleasure,fantasy and fun where there is none
为平淡无奇的生活,平添盎然生机
for young and old to create a world they may never see
为人们创造出从未见过的美好世界[心]
试问何为友谊
if not a willingness to give
友谊是润物细无声
to give laughter
让你破涕为笑
where there are tears
当你伤心落泪时
comfort where there are fears
担惊受怕时让你安心落意
pleasure,fantasy and fun where there is none
为平淡无奇的生活,平添盎然生机
for young and old to create a world they may never see
为人们创造出从未见过的美好世界[心]
【什么是dict】用 dict 表示“名字”-“成绩”的查找表如下:https://t.cn/EzBnro7
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59
}
我们把名字称为key,对应的成绩称为value,dict就是通过 key 来查找 value。
花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略。
访问dict
d[key] 的形式来查找对应的 value,这和 list 很像,不同之处是,list 必须使用索引返回对应的元素,而dict使用key:
注意: 通过 key 访问 dict 的value,只要 key 存在,dict就返回对应的value。如果key不存在,会直接报错:KeyError。
要避免 KeyError 发生,有两个办法:
一是先判断一下 key 是否存在,用 in 操作符:
if 'Paul' in d: print d['Paul']
如果 'Paul' 不存在,if语句判断为False,自然不会执行 print d['Paul'] ,从而避免了错误。
二是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:
>>> print d.get('Bart')59>>> print d.get('Paul')None
dict的特点
查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。
不过dict的查找速度快不是没有代价的,**dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。
由于dict是按 key 查找,所以,在一个dict中,key不能重复。
存储的key-value序对是没有顺序的!这和list不一样:
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59
}
当我们试图打印这个dict时:
>>> print d
{'Lisa': 85, 'Adam': 95, 'Bart': 59}
打印的顺序不一定是我们创建时的顺序,而且,不同的机器打印的顺序都可能不同,这说明dict内部是无序的,不能用dict存储有序的集合。
**是作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。
可以试试用list作为key时会报什么样的错误。
不可变这个限制仅作用于key,value是否可变无所谓:
{
'123': [1, 2, 3], # key 是 str,value是list
123: '123', # key 是 int,value 是 str
('a', 'b'): True # key 是 tuple,并且tuple的每个元素都是不可变对象,value是 boolean
}
最常用的key还是字符串,因为用起来最方便。
更新dict
要把新同学'Paul'的成绩 72 加进去,用赋值语句:
>>> d['Paul'] = 72
遍历dict
直接使用for循环可以遍历 dict 的 key:
>>> d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }>>> for key in d:... print key... Lisa
Adam
Bart
https://t.cn/EzBnro7
#互联网# #it# #老男孩# #程序员# #编程# #程序猿# #一图读懂程序员# #程序员# #面对对象# #编程# #程序猿# #开发# #编程# #延迟# #调用 #函数##defer# #函数返回值# #码农# #go语言# #注解#
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59
}
我们把名字称为key,对应的成绩称为value,dict就是通过 key 来查找 value。
花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略。
访问dict
d[key] 的形式来查找对应的 value,这和 list 很像,不同之处是,list 必须使用索引返回对应的元素,而dict使用key:
注意: 通过 key 访问 dict 的value,只要 key 存在,dict就返回对应的value。如果key不存在,会直接报错:KeyError。
要避免 KeyError 发生,有两个办法:
一是先判断一下 key 是否存在,用 in 操作符:
if 'Paul' in d: print d['Paul']
如果 'Paul' 不存在,if语句判断为False,自然不会执行 print d['Paul'] ,从而避免了错误。
二是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:
>>> print d.get('Bart')59>>> print d.get('Paul')None
dict的特点
查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。
不过dict的查找速度快不是没有代价的,**dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。
由于dict是按 key 查找,所以,在一个dict中,key不能重复。
存储的key-value序对是没有顺序的!这和list不一样:
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59
}
当我们试图打印这个dict时:
>>> print d
{'Lisa': 85, 'Adam': 95, 'Bart': 59}
打印的顺序不一定是我们创建时的顺序,而且,不同的机器打印的顺序都可能不同,这说明dict内部是无序的,不能用dict存储有序的集合。
**是作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。
可以试试用list作为key时会报什么样的错误。
不可变这个限制仅作用于key,value是否可变无所谓:
{
'123': [1, 2, 3], # key 是 str,value是list
123: '123', # key 是 int,value 是 str
('a', 'b'): True # key 是 tuple,并且tuple的每个元素都是不可变对象,value是 boolean
}
最常用的key还是字符串,因为用起来最方便。
更新dict
要把新同学'Paul'的成绩 72 加进去,用赋值语句:
>>> d['Paul'] = 72
遍历dict
直接使用for循环可以遍历 dict 的 key:
>>> d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }>>> for key in d:... print key... Lisa
Adam
Bart
https://t.cn/EzBnro7
#互联网# #it# #老男孩# #程序员# #编程# #程序猿# #一图读懂程序员# #程序员# #面对对象# #编程# #程序猿# #开发# #编程# #延迟# #调用 #函数##defer# #函数返回值# #码农# #go语言# #注解#
#早安心语# None is of freedom or of life deserving unless he daily conquers it anew.
只有每天再度战胜生活并夺取自由的人,才配享受生活和自由。
小编的话:生命不轻言放弃。漫长的人生中,谁也不可能一帆风顺,谁也难免要经历挫折和坎坷。被挫折历练后的人总是会更顽强、更成熟、更加的勇敢。战胜它,你就可以享受自由和生活。
只有每天再度战胜生活并夺取自由的人,才配享受生活和自由。
小编的话:生命不轻言放弃。漫长的人生中,谁也不可能一帆风顺,谁也难免要经历挫折和坎坷。被挫折历练后的人总是会更顽强、更成熟、更加的勇敢。战胜它,你就可以享受自由和生活。
✋热门推荐