-
# 指定顺序
template = 'Hello {0}, Hello {1}, Hello {2}, Hello {3}.'
result = template.format('World', 'China', 'Beijing', 'imooc')
print(result) # ==> Hello World, Hello China, Hello Beijing, Hello imooc.
# 调整顺序
template = 'Hello {3}, Hello {2}, Hello {1}, Hello {0}.'
result = template.format('World', 'China', 'Beijing', 'imooc')
print(result) # ==> Hello imooc, Hello Beijing, Hello China, Hello World.查看全部 -
# 字符串模板
template = 'Hello {}'
# 模板数据内容
world = 'World'
result = template.format(world)
print(result) # ==> Hello World查看全部 -
round(a,b)函数有两个传参,第一个a是指需要保留小数的数值,第二个b指保留小数点后几位
查看全部 -
地板除//取的是整数部分,舍弃小数部分
查看全部 -
取模运算可以判断一个数是偶数还是奇数,如果取模运算的结果是0,那么是偶数,否则为奇数
查看全部 -
右边的值赋给等号左边👈那么左边就是变量,变量可以是不同的数据类型,因为python 是动态语言
查看全部 -
0和none的含义不一样
查看全部 -
二进制数只使用数字0、1表示,在Python中,二进制整数使用前缀0b表示,比如:0b0110,0b1100。
十六进制数除了0~9十个数字以外,还使用a、b、c、d、e、f,在Python中,十六进制使用前缀0x,比如:0x12ef,0xde2431af。
0b
0x
把10用e替代,比如:1.23x10^9就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5
查看全部 -
dict提供便捷的pop()方法,允许我们快速删除元素,pop()方法需要指定需要删除的元素的key,并返回对应的value。
假设Alice转校了,需要把Alice的成绩删除,可以这样写:d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49
}
print(d) # ==> {'Alice': 45, 'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49}
alice_score= d.pop('Alice')
print(alice_score) # ==> 45
print(d) # ==> {'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49}需要注意的是,pop()方法的参数是dict中的key,当key不存在时,同样会引起错误。比如在上述操作中,已经把Alice的成绩删除了,假如再次pop('Alice'),将会引发错误。
d.pop('Alice')
# 报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'Alice'查看全部 -
通过赋值语句就可以把元素添加到dict中去,但是赋值的时候,我们并不确定key是否已经在dict里面了,如果dict里面已经有对应的key了,那将会发生什么呢?
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49
}
d['Bob'] = 75
print(d)
# ==> {'Alice': 45, 'Bob': 75, 'Candy': 75, 'David': 86, 'Ellena': 49}这个时候我们发现,原来Bob的成绩是60,现在变成75了,因为d['Bob'] = 75的缘故。
因此我们发现这个赋值语句其实有两个功能:当key不存在时,往dict中添加对应的key: value元素。
当key存在时,会更新dict,用新的value替换原来的value。
因此,在使用赋值语句往dict中添加元素时,为了避免不必要的覆盖问题,我们需要先判断key是否存在,然后再做更新。
查看全部 -
dict和tuple不一样,dict是可变的,我们随时可以往dict中添加新的key-value,比如对于上节课的成绩dict:
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49
}需要往里面添加Dodo、Mimi的成绩时,可以使用赋值语句往里面添加元素:
d['Mimi'] = 72
d['Dodo'] = 88
print(d)实际上,value可以是任意类型的元素,可以是list、tuple等,假如Mimi近两次成绩分别是72,73,Dodo近两次的成绩分别是88,90,则可以使用赋值语句往dict中添加list元素。
d['Mimi'] = [72, 73]
d['Dodo'] = [88, 90]
print(d)此后,如果Mimi、Dodo的第三次成绩也出来了,分别是75,90,则可以先通过key把对应的value查询出来,然后再往类型是list的value中添加第三次的成绩。
d['Mimi'].append(75)
d['Dodo'].append(90)
print(d)查看全部 -
dict提供通过key找到对应value的功能,通过d[key]的形式,就可以得到对应的value。
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49,
'Gaven': 86
}
print(d['Bob']) # ==> 60
print(d['Alice']) # ==> 45这和list通过下标找到对应位置的元素是类似的。
在dict中,也是一样的,当对应的key不存在时,也会引发错误。
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49,
'Gaven': 86
}
print(d['Dodo'])
# 抛出异常
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'Dodo'if 'Alice' in d:
print(d['Alice']) # ==> 45
if 'Dodo' in d: # Dodo不存在,所以不会走下面的逻辑
print(d['Dodo'])除了使用这种方法,还有一种方法可以通过key来获取对应的value,这种方法不会引起错误,dict本身提供get方法,把key当作参数传递给get方法,就可以获取对应的value,当key不存在时,也不会报错,而是返回None。
print(d.get('Alice')) # ==> 45
print(d.get('Dodo')) # ==> None因为通过get方法在代码实现上更加简单,且不会引起错误,因此更加推荐使用get方法来获取dict的元素。
查看全部 -
在dict中,每一项包含一个key和一个value,key和value是一一对应的,在解决上面的问题中,我们可以使用名字作为key,成绩作为value,那么dict的定义如下:
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49
}在定义里,我们使用花括号{}表示这是一个dict,然后key和value之间使用冒号:分割,并且每一组key:value的最后,以逗号,表示这一组的结束。
我们也可以使用以下的方式定义一个dict。d = dict()
print(d) # ==> {}不过这种定义方式,默认得到的是一个空dict,需要调用函数往里面添加数据,我们后面会继续学习。
查看全部 -
tuple的元素也可以是tuple,请判断以下定义T的元素中,有多少个tuple。
T = ((1+2), ((1+2),), ('a'+'b'), (1, ), (1,2,3,4,5))
参考答案:
3个
第一个元素(1+2),第三个元素('a'+'b'),计算的结果分别是数字3和字符串ab,不是tuple。查看全部 -
对于tuple,它和list一个最大的不同点就是tuple是不可变的,tuple里面的元素,也是不可替换的。但是这针对的是仅包含基础数据类型(数字类型、布尔类型、字符串类型)的数据,对于组合数据类型,则不受这个约束。
T = (1, 'CH', [3, 4])
--------
T = (1, 'CH', [3, 4])
L = T[2]
print(L) # ==> [3, 4]
# 尝试替换L中的元素
L[1] = 40
print(L) # ==> [3, 40]
print(T) # ==> (1, 'CH', [3, 40])这是因为虽然tuple中的list元素改变了,但是tuple本身指向的list仍然是同一个list,list本身并没有改变,改变的只是list里面的一个元素,这是tuple所约束不到的范围。

T = (1, 'CH', [3, 4])
L2 = [3, 40]
# 尝试替换tuple中的list
T[2] = L2
# 报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment如果我们直接替换list,这也是不行的。
查看全部
举报