字符串
字符串的定义可以用双引号"",也可以用单引号'',这样可以灵活的在字符串中显示单引号或双引号,例如:
message = 'Hello "world"'
输出结果为:
Hello "world"
修改字符串的大小写
title()方法,首字母大写
message = "hello world"
print(message.title())
输出结果为:
Hello World
upper()方法,所以字母大写
message = "Hello World"
print(message.upper())
输出结果为:
HELLO WORLD
lower()方法,所以字母小写
message = "Hello World"
print(message.lower())
输出结果为:
hello world
存储数据时,lower()方法很有用,因为很多时候用户无法给我们准确的大小写,比如验证码的输出,这时候我们可以将用户输入的字符全部转换成小写存储,等需要正确的显示时,我们再用title()方法或别的办法正确的显示。
在字符串中使用变量
在有些情况下,我们可能在字符串中插入变量,如果使用+号连接会很麻烦,我们可以在引号前加上字母f,再将要插入的变量放在花括号内,例如:
first_name = "zhu"
last_name = "dawei"
full_name = f"{first_name}{last_name}"
print(full_name)
输出结果为:
zhudawei
合并(拼接)字符
有时候,我们需要将字符分开存储在两个变量中,需要的时候再合并,比如用户名的存储
first_name = "Zhu"
last_name = "DaWei"
full_name = first_name + " " + last_name #用+来合并first_name、空格和last_name
print(full_name)
输出结果为:
Zhu DaWei
接下来的例子是打印问候信息
first_name = "zhu"
last_name = "dawei"
full_name = first_name + " " + last_name
print("Hello " + full_name.title() + " !")
输出结果为:
Hello Zhu Dawei !
也可以把问候信息赋值给一个变量
first_name = "zhu"
last_name = "dawei"
full_name = first_name + " " + last_name
message = "Hello " + full_name.title() + " !"
print(message)
输出结果为:
Hello Zhu Dawei !
使用制表符或换行符来添加空白
空白指任何非打印字符,如空格、制表符、换行符。
制表符可以用:\t,例如:
print("python")
输出结果为:
python
print("\tpython")
输出结果为:
python
换行符可以用:\n,例如:
print("zhu\nda\nwei")
输出结果为:
zhu
da
wei
也可以把制表符和换行符结合使用,例如:
print("\tzhu\n\tda\n\twei")
输出结果为:
zhu
da
wei
删除空白
空白可以理解为空格,字符中有空白和没有空白是两个数据,尤其是比较两个字符串是否相同,如用户名、密码时,有空白容易出错,所以我们要把用户输出的空白删除再存储。
删除空白有3种情况,分别为删除左侧空白、删除右侧空白、删除两侧空白
- 删除左侧空白用lstrip()方法
- 删除右侧空白用rstrip()方法
- 删除两侧空白用strip()方法
name = " zhu da wei "
print(name.lstrip())
print(name.rstrip())
print(name.strip())
输出结果为:
‘zhu dawei ’
‘ zhu dawei’
‘zhu dawei’
注:实际输出没有单引号,上面的单引号只为使结果看的更明了
删除空白不能够删除字符中间的空白
数字
使用str()避免类型错误
很多时候,我们需要在字符串里插入变量,这时候要注意不同的数据类型不能用+号合在一起,例如:
age = 34
print("祝你"+ age + "岁生日快乐!")
输出结果会出现错误:TypeError: can only concatenate str (not "int") to str
应修改为:
age = 34
print("祝你" + str(age) + "岁生日快乐!")
输出结果为:
祝你34岁生日快乐!
注释
在Python中,用#号进行注释,#号后面的内容均被视为注释,不会被执行,例如:
age = 34 #给变量age赋值,值为34
print("祝你"+ str(age) + "岁生日快乐!") #在屏幕上打印问候语
输出结果为:
祝你34岁生日快乐!
列表
在Python中,用方括号 [ ] 来表示列表,并用逗号分隔其中的元素
bicycles = ['trek','cannondale','specialize']
print(bicycles)
输出结果为:
['trek', 'cannondale', 'specialize']
访问列表元素
列表是有序集合,因此要访问列表中的任意元素,只需要将该元素的索引告诉Python即可。例如:
bicycles = ['trek','cannondale','specialize']
print(bicycles[0])
输出结果为:
trek
也可以用处理字符串的方法格式化输出结果,例如:
bicycles = ['trek','cannondale','specialize']
print(bicycles[0].title())
输出结果为:
Trek
索引是从0开始的,而不是1开始
我们可以像使用其他变量一样使用列表中的各个值,例如:
bicycles = ['trek','cannondale','specialize']
message = f"我最喜欢的自行车品牌是{bicycles[2].title()}"
print(message)
输出结果为:
我最喜欢的自行车品牌是Specialize
下面进行一个小练习:
names = ['史青','王赫','张钰','张志广']
print(f"{names[0]},你在石家庄过得怎么样?")
print(f"{names[1]},新买的车开着爽不爽?")
print(f"{names[2]},家里的水涨的大吗?")
print(f"{names[3]},你还在外地打工呢?")
输出结果为:
史青,你在石家庄过得怎么样?
王赫,新买的车开着爽不爽?
张钰,家里的水涨的大吗?
张志广,你还在外地打工呢?
修改、添加和删除元素
修改
修改可以直接在相应的索引号中重新赋值即可,等于是覆盖之前的值
home = ['爸爸','妈妈','宝宝']
print(home)
home[2] = "女儿"
print(home)
输出结果为:
['爸爸', '妈妈', '宝宝']
['爸爸', '妈妈', '女儿']
添加
在列表末尾添加元素
使用append()方法
home = ['爸爸','妈妈','女儿']
print(home)
home.append('儿子')
print(home)
输出结果为:
['爸爸', '妈妈', '女儿']
['爸爸', '妈妈', '女儿', '儿子']
在列表中插入元素
使用insert()方法,需要在括号内指定新元素的索引和值
home = ['爸爸','妈妈','女儿']
print(home)
home.insert(2,'儿子')
print(home)
输出结果为:
['爸爸', '妈妈', '女儿']
['爸爸', '妈妈', '儿子', '女儿']
删除
del语句删除元素
如果知道要删除的元素在列表中的索引,可以使用del语句
home = ['爸爸', '妈妈', '儿子', '女儿']
print(home)
del home[2]
print(home)
输出结果为:
['爸爸', '妈妈', '儿子', '女儿']
['爸爸', '妈妈', '女儿']
del语句删除的元素就无法再访问了
pop()方法删除元素
有时候,我们需要将元素从列表中删除,并接着使用它的值,比如论坛中把用户从活跃用户中删除,并添加到非活跃用户。这种情况也叫弹出元素。
home = ['爸爸', '妈妈', '儿子', '女儿'] #定义一个列表,里面有四个元素
print(home) #打印这个列表
poped_home = home.pop() #将home列表中的最后一个元素删除,并将删除的元素赋值给变量poped_home
print(home) #输出home列表
print(poped_home) #输出已经删除的值
输出结果为:
['爸爸', '妈妈', '儿子', '女儿']
['爸爸', '妈妈', '儿子']
女儿
pop()方法还可以用来弹出指定索引的元素,和del语句用法一样
pop()方法一般在删除一个元素时,都会将这个已经删除的元素赋值给一个变量,例如:poped_home = home.pop()
如何确定使用del语句还是pop()方法?
如果要删除一个元素,且不再使用这个值,就用del语句
如果在删除元素后还需要用到这个值,那就用pop()方法
remove()方法删除元素
有时候,我们不知道元素在列表中的位置,但知道元素的值是什么,这时候我们可以使用remove()方法,例如我们要在home列表中删除值为'儿子'的元素:
home = ['爸爸', '妈妈', '儿子', '女儿']
print(home)
home.remove('儿子')
print(home)
输出结果为:
['爸爸', '妈妈', '儿子', '女儿']
['爸爸', '妈妈', '女儿']
remove()方法一次只能删除一个元素,如果列表中有多个重复元素,则需要利用循环来判断是否将所有值都删除,此部分内容将在学习while循环的时候尝到
组织列表
sort()方法永久排序
使用sort()方法,可以将列表中的内容按照字母的顺序进行排序,排序后,将无法再恢复到原来的顺序,例如:
home = ['爸爸', '妈妈', '儿子', '女儿']
home.sort()
print(home)
输出结果为:
['儿子', '女儿', '妈妈', '爸爸']
还可以将排序好的内容进行倒序,只需要在sort()的括号内加入reverse=True即可,例如:
home = ['爸爸', '妈妈', '儿子', '女儿']
home.sort(reverse=True)
print(home)
输出结果为:
['爸爸', '妈妈', '女儿', '儿子']
sorted()函数临时排序
要保留原来的顺序,但需要以特定的顺序呈现出来,可以用函数sorted(),例如:
home = ['爸爸', '妈妈', '儿子', '女儿']
print(sorted(home))
print(home)
输出结果为:
['儿子', '女儿', '妈妈', '爸爸']
['爸爸', '妈妈', '儿子', '女儿']
如果需要倒序,和sort()方法一样,也可以向函数sorted()传递参数reverse=True,例如:
home = ['爸爸', '妈妈', '儿子', '女儿']
print(sorted(home,reverse=True))
print(home)
输出结果为:
['爸爸', '妈妈', '女儿', '儿子']
['爸爸', '妈妈', '儿子', '女儿']
reverse()方法倒序列表
可以用reverse()方法,直接将一个列表内容进行倒序,例如:
home = ['爸爸', '妈妈', '儿子', '女儿']
home.reverse()
print(home)
输出结果为:
['女儿', '儿子', '妈妈', '爸爸']
reverse()方法是永久性的改变列表的顺序,如果想要再恢复,可以再使用一次reverse()方法即可。
len()函数确定列表长度
使用len(列表名)即可得到列表里面有多少元素,这很有用,比如要统计网站有多少注册用户,管理多少项可视化数据等,例如:
home = ['爸爸','妈妈','女儿']
print(len(home))
输出结果为:
3
避免索引错误
使用列表时,经常会遇到一种错误,假设有一个包含3个元素的列表,却要求获取第4个元素,比如:
home = ['爸爸','妈妈','女儿']
print(home[3])
结果将导致错误:
IndexError: list index out of range
这种错误非常常见,如果发生这种错误,可以尝试修改索引
如果想访问列表中的最后一个元素,可以将索引写成-1,如果想访问倒数第2个元素,可以将索引写成-2,以此类推,例如:
home = ['爸爸','妈妈','女儿']
print(home[-1])
输出结果为:
女儿
操作列表
for循环,遍历整个列表
for循环用于重复相同的工作,需要执行重复的代码需要进行缩进,一般是4个空格。比如要打印列表中所有元素:
home = ['爸爸','妈妈','女儿']
for name in home:
print(name)
输出结果为:
爸爸
妈妈
女儿
可以利用for循环打印一些信息,比如:
home = ['爸爸','妈妈','女儿']
for name in home:
print(f"{name}是我们家庭成员")
输出结果为:
爸爸是我们家庭成员
妈妈是我们家庭成员
女儿是我们家庭成员
在for循环结束后,没有缩进的代码将只被执行一次
for循环语句的后面需要加冒号“:”,用于告诉Pytrhon下面的语句是循环的第一行。如果忘记了冒号,Python将会出现语法错误。
创建数值列表
需要存储数字的原因有很多,比如存在得分最高的玩家,温度、距离、人口数量、经纬度等等
列表非常适用于存储数字集合
range()函数生成一系列数字
Python的range()函数能轻松的生成一系列数字,如:
for value in range(1,5):
print(value)
输出结果为:
1
2
3
4
之所以打印到4,是因为编程语言中常见的差一行为的结果,上面的语句表示从1开始,一直到5结束,不包括5
使用range()时,如果输出不符合预期,请尝试将指定的值加1或减1
range()创建数字列表
要创建数据列表,可以使用函数list()将range()的结果直接转换成列表,如:
value = list(range(1,6))
print(value)
输出结果为:
[1, 2, 3, 4, 5]
使用range()函数时,还可以指定步长,例如要创建一个1至10之间的偶数列表,代码如下:
value = list(range(2,11,2))
print(value)
输出结果为:
[2, 4, 6, 8, 10]
输出前10个整数的平方,**表示平方,代码如下:
values = []
for squear in range(1,11):
value = squear**2
values.append(value)
print(values)
输出结果为:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
也可以不赋值给value,直接在添加到列表的时候计算,例如:
values = []
for squear in range(1,11):
values.append(squear**2)
print(values)
输出结果为:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
对列表进行简单的统计计算
有几个专门用于处理数字列表的python函数。例如我们可以轻松找出数字列表中的最大值、最小值和总和:
my_list = [1,3,5,9,11,23]
print(min(my_list))
print(max(my_list))
print(sum(my_list))
输出结果为:
1
23
52
列表解析
列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素,例如上面求10的整数的平方,也可以写成:
squares = [value**2 for value in range(1,11)]
print(squares)
输出结果为:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
使用列表的一部分
切片
处理列表的部分元素,称为列表的切片,和range()函数一样,需要指定第一个元素的索引和最后一个元素的索引,不包含最后一个元素例如:
home = ['爸爸','妈妈','女儿','儿子']
print(home[0:3])
输出结果为:
['爸爸', '妈妈', '女儿'] #输出的是0,1,2号索引的数据,并没有包括3号索引
切片也不一定非要在第一个索引处开始,例如
home = ['爸爸','妈妈','女儿','儿子']
print(home[1:3])
输出结果为:
['妈妈', '女儿']
如果没有指定第一个索引,Python将自动从列表的开头开始,例如:
home = ['爸爸','妈妈','女儿','儿子']
print(home[:3])
输出结果为:
['爸爸', '妈妈', '女儿']
如果要从列表中间一个位置到末尾,也可以用相似的语法,只是后面的截止索引为空即可,例如:
home = ['爸爸','妈妈','女儿','儿子']
print(home[1:])
输出结果为:
['妈妈', '女儿', '儿子']
无论列表有多长,这种方法都可以让我们从指定位置输出到最后位置
同样利用副数索引也可以从列表最后面切片,例如我们要知道家庭最后的三名成员:
home = ['爸爸','妈妈','女儿','儿子']
print(home[-3:])
输出结果为:
['妈妈', '女儿', '儿子']
也可以在表示切片的方括号内指定第三个值,告诉Python每隔多少元素提取一个
home = ['爸爸','妈妈','女儿','儿子']
print(home[-3::2])
输出结果为:
['妈妈', '儿子']
遍历切片
如果要遍历列表的部分元素,可在for循环中使用切片,比如:
homes = ['爸爸','妈妈','女儿','儿子']
for home in homes[:3]:
print(home)
输出结果为:
爸爸
妈妈
女儿
切片非常有用,可以在编写WEB应用程序时,使用切片来分页显示信息,并在每页显示数量合适的信息
复制列表
复制列表时,不能直接将一个列表赋值给另一个列表,那样只是关联两个列表,一个变动后另一个也会跟着变动,正确的做法是在列表赋值时,将开始索引和结束索引都设置为空即可。如:
my_home = ['爸爸','妈妈','女儿','儿子']
sister_home = my_home[:]
my_home.append('小儿子')
sister_home.append('小女儿')
print(f"我的家庭成员有:{my_home}")
print(f"姐姐的家庭成员有:{sister_home}")
输出结果为:
我的家庭成员有:['爸爸', '妈妈', '女儿', '儿子', '小儿子']
姐姐的家庭成员有:['爸爸', '妈妈', '女儿', '儿子', '小女儿']
如果直接赋值,再添加成员后,结果如下:
my_home = ['爸爸','妈妈','女儿','儿子']
sister_home = my_home
my_home.append('小儿子')
sister_home.append('小女儿')
print(f"我的家庭成员有:{my_home}")
print(f"姐姐的家庭成员有:{sister_home}")
输出结果为:
我的家庭成员有:['爸爸', '妈妈', '女儿', '儿子', '小儿子', '小女儿']
姐姐的家庭成员有:['爸爸', '妈妈', '女儿', '儿子', '小儿子', '小女儿']
上面的结果两个列表都添加了成员,等于两个列表是关联的
元组
和列表相似,但其内容不可变的称为元组
定义元组
元组看起来很像列表,但是使用圆括号来定义,而列表使用方括号定义,例如:
dimension = (200,50)
print(dimension[0])
print(dimension[1])
输出结果为:
200
50
如果修改无组内容,程序会报错,如:
dimension = (200,50)
dimension[0]=100
print(dimension[0])
输出结果报错:
dimension[0]=100
TypeError: 'tuple' object does not support item assignment
遍历元组
元组的遍历和列表是一样的,也可以用for循环
dimensions = (200,50)
for dimension in dimensions:
print(dimension)
输出结果为:
200
50
修改元组变量
虽然不能修改元组的变量,但是可以通过重新给元组的变量赋值的方式修改元组,例如:
dimensions = (200,50)
for dimension in dimensions:
print(dimension)
dimensions = (400,10)
for dimension in dimensions:
print(dimension)
输出结果为:
200
50
400
10
if语句
检查是否相等
if语句中,判断是否相等使用==,不能使用=,因为一个等于号是赋值,两个等于号才是判断是否相等。
判断是否不相等,要使用一个叹号加一个等号 !=,表示不相等
and检查多个条件
判断两个或多个条件全部成立时,使用and来检查,例如判断两个人都不小于21岁:
age0 = 22
age1 = 18
print(age0 >= 21 and age1 >= 21)
输出结果为:
False
or检查多个条件
判断两个或多个条件其中一个是否成立时,可以使用or来检查,例如判断两个人是否有人不小于21岁:
age0 = 22
age1 = 18
print(age0 >= 21 or age1 >= 21)
输出结果为:
True
in检查特定值是否在列表里
比如在用户注册时,需要判断用户名是否已经注册过:
names =['zhudawei','huangli','zhusiyu']
if 'zhusiyu' in names:
print('zhusiyu 已经被注册')
else:
print('zhusiyu 可以使用')
输出结果为:
zhusiyu 已经被注册
not in检查特定值是否不在列表里
有时候需要检查内容是否不在列表中,比如论坛用户在发言时,要检查该用户是否不在禁言组:
jinyan_names =['zhudawei','huangli']
user = 'zhusiyu'
if user not in jinyan_names:
print(f"{user.title()},你可以发表留言!")
输出结果为:
Zhusiyu,你可以发表留言!
布尔表达式
布尔表达式只有两个值,True和False,布尔值通常用于记录,如游戏是否在运行,是否可以编辑等:
game_active = True
can_edit = False
if语句
if语句很常用,主要用于判断,如果条件成立,则执行下面的缩进代码,如:
age = 18
if age > 10:
print("年龄已经大于10岁")
输出结果为:
年龄已经大于10岁
if-else语句
当一个条件成立时,执行缩进的代码,如果条件不成立时,执行else后缩进的代码,例如:
age = 17
if age >= 18:
print("已成年")
else:
print("未成年")
输出结果为:
未成年
if-elif-else结构
判断的条件超过两种以上,就需要if-elif-else语句了,例如:
age = 20
if age >= 2 and age < 6:
print("这个孩子是幼儿园的孩子!")
elif age >=6 and age <12:
print("这个孩子是小学生!")
elif age >=12 and age < 15:
print("这个孩子是初中生!")
elif age >= 15 and age <18:
print("这个孩子是高中生!")
elif age >= 18 and age < 21:
print("这个孩子是大学生!")
else:
print("这个人已经不是学生了!")
输出结果为:
这个孩子是大学生!
省略else代码块
Python并不要求在if-elif后一定要有else代码块,有些情况下,使用elif不但代码更加清晰,还可以有效避免恶意的数据,因为else包含的内容太广,判断的条件有可能并不是我们想要的结果。但是使用elif可以有效的保证判断的数据是我们想要的数据。
测试多个条件
if-elif-else结构功能强大,但仅适用于只有一个条件满足的情况,如果遇到一个满足的条件,后面的判断就都不执行了。但是我们常常需要判断我们所有的条件是否满足,例如:
配料= ["葱","蒜"]
print("这道菜里含有配料:")
if "姜" in 配料:
print("姜")
if "葱" in 配料:
print("葱")
if "蒜" in 配料:
print("蒜")
输出结果为:
这道菜里含有配料:
葱
蒜
使用if语句处理列表
通过结合使用if语句和列表,可完成一些有趣的任务,对列表中的特定值做特殊处理,如餐饮是否还有特定的食材等。
检查特殊元素
这家比萨店在制作比萨时,每添加一种配料都打印一条消息。通过创建一个列表,在其中包含顾客点的配料,并使用一个循环来指出添加到比萨中的配料:
requested_toppings = ['mushrooms','green peppers','extra cheese']
for requested_topping in requested_toppings:
print(f"Adding {requested_topping}.")
print("\nFinished making your pizza!")
输出结果为:
Adding mushrooms.
Adding green peppers.
Adding extra cheese.
Finished making your pizza!
然而,如果青椒用完了,我们要判断并打印一条提示信息:
requested_toppings = ['mushrooms','green peppers','extra cheese']
for requested_topping in requested_toppings:
if requested_topping == 'green peppers':
print("Sorry,we are out of green peppers right now.")
else:
print(f"Adding {requested_topping}.")
print("\nFinished making your pizza!")
输出结果为:
Adding mushrooms.
Sorry,we are out of green peppers right now.
Adding extra cheese.
Finished making your pizza!
确定列表不是空
我们常常需要先确定列表内是不是有内容,如果有内容才会执行特定语句,如果列表为空,则执行另外的语句,如下:
shicai = []
if shicai:
print("我们现在食材很充足!")
else:
print("我们现在没有足够的食材了,是否需要制作普通菜品?")
输出结果 为:
我们现在没有足够的食材了,是否需要制作普通菜品?
使用多个列表
现在我们有2个列表,一个是店里的菜单,一个是客人点的列表,看看如何根据客人点的和已有的材料对客人进行不同的答复
Available_toppings = ['mushrooms','olives', 'green peppers' , 'pepperoni' , 'pineapple' , 'extra cheese']
requested_toppings = ['mushrooms' , 'french fries' , 'extra cheese']
for requested_topping in requested_toppings:
if requested_topping in Available_toppings:
print(f"Adding {requested_topping}.")
else:
print(f"Sorry,we don't have {requested_topping}.")
print("\nFinished making your pizza!")
输出结果为:
Adding mushrooms.
Sorry,we don't have french fries.
Adding extra cheese.
Finished making your pizza!
上面的代码将对顾客提出的每一种材料都与现存的材料进行比对,如果库存里有,就提示添加成功,如果顾客点的材料库存里没有,就提示抱歉信息,并告知没有相关的配料。
设置if语句的格式
在条件测试的格式设置方面,PEP8提供的唯一建议是,在诸如==、>=和<=等比较运算符两边各添加一个空格,例如:
if age > 4:
要比
if age>4:
更好。
字典
一个简单的字典
字典可存储的信息量几乎不受限制。假如我们有一个外星人的游戏,击杀不同颜色的外星人,得分不一样,我们可以有这样一个字典:
alien_0 = {'color':'green','points':5}
print(alien_0['color'])
print(alien_0['points'])
运行结果为:
green
5
使用字典
在Python中,字典是一系统的键值对,每个键都与一个值机关联,我们可以用键来访问与之对应的值。值可以是任何Python中的对象,比如数字、字符串、列表乃至字典。在Python中,字典用放在花括号{ }中的一系列键值对表示。
访问字典中的值
要获取与键值相关的值,可以依次指定字典名和放在方括号内的键,如:
alien_0 = {'color':'green'}
print(alien_0['color'])
输出结果为:
green
现在我们要访问外星人alien_0的颜色和分数,如果玩家射杀了这个外星人,就可以使用下面的代码来确定应获得多少分:
alien_0 = {'color':'green','points':5}
new_points = alien_0['points']
print(f'You just earned {new_points} points!')
输出结果为:
You just earned 5 points!
添加键值对
字典是动态结构,可以随时在其中添加键值对。要添加健值对,可以依次指定字典的名字、用方括号括起来的键和相关联的值。
alien_0 = {'color':'green'}
print(alien_0)
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)
输出结果为:
{'color': 'green'}
{'color': 'green', 'x_position': 0, 'y_position': 25}
创建空字典
有时候我们需要创建空字典,以便后续添加值
alien_0 = {}
alien_0['color'] = 'green'
alien_0['points'] = 5
print(alien_0)
输出结果为:
{'color': 'green', 'points': 5}
修改字典中的值
和添加键值对差不多,直接用方括号括起键的名字,直接=值即可,如:
alien = {'color':'green','points':10}
print(alien)
alien['color']='red'
alien['points']=15
print(alien)
输出结果为:
{'color': 'green', 'points': 10}
{'color': 'red', 'points': 15}
删除键值对
可以直接使用del语句加键的名字即可,如:
alien = {'color':'green','points':10}
del alien['points']
print(alien)
输出结果为:
{'color':'green'}
使用字get()来访问字典中的值
使用放在方括号内的键从字典中获取值时,有可能会引发错误,如果指定的键不存在,就会发生错误。在字典中,我们可以使用get()方法来访问指定的键,如果键不存在,则会返回一个默认值,从而避免错误。如:
alien_0 = {'color':'green','speed':'slow'}
point_value = alien_0.get('points','No point value assigned.')
print(point_value)
输出结果为:No point value assigned.
上面的例子中,get方法中的第一个参数是指定的键,第二个参数是为指定的键不存在时要返回的值。
555