-
d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}
for key in d:与for key in d.keys():的作用相同
dict提供values()函数,可以返回dict中所有的value。for key in d.values():
dict提供clear()函数,可以直接清除dict中所有的元素。
d.clear()
print(d) # ==> {}查看全部 -
d = { 'Alice': 45, 'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49 } value = d[key] if value > 60: print(key, value) # ==> Candy 75 # ==> David 86
第二种方法是通过dict提供的
items()
方法,items()
方法会返回dict中所有的元素,每个元素包含key和value。if value > 60: print(key, value) # ==> Candy 75 # ==> David 86
查看全部 -
因为
d['Bob'] = 75
的缘故。
因此我们发现这个赋值语句其实有两个功能:当key不存在时,往dict中添加对应的key: value元素。
当key存在时,会更新dict,用新的value替换原来的value。
查看全部 -
实际上,value可以是任意类型的元素,可以是list、tuple等,
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除了使用这种方法,还有一种方法可以通过key来获取对应的value,这种方法不会引起错误,dict本身提供get方法,把key当作参数传递给get方法,就可以获取对应的value,当key不存在时,也不会报错,而是返回None。
print(d.get('Alice')) # ==> 45 print(d.get('Dodo')) # ==> None
因为通过get方法在代码实现上更加简单,且不会引起错误,因此更加推荐使用get方法来获取dict的元素。
查看全部 -
但是使用两个list,始终有些麻烦的,尤其是需要变换一个列表的顺序后,另外一个列表也需要做同样的变换,否则就可能出现对应不上的问题。
python的dict就是专门保存这种映射的,使用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。查看全部 -
对于组合数据类型,则不受这个约束。
T = (1, 'CH', [3, 4])
这里T有三个元素,第一个元素是数字类型,第二个元素是字符串类型,第三个元素是列表类型的,我们尝试修改第三个元素的数据。
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])
这个时候,我们发现,元组T中的第三个元素已经成功被改变了,这就有悖前面的定义,元组是不可改变的。那么这到底是为什么呢?
这是因为虽然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,这也是不行的。
查看全部 -
改变优先级我们是通过
()
来实现的,这和元组的定义有冲突,这就解释了前面只有一个元素的元组,为什么打印出来却得到一个数字的结果了。
因为()
既可以表示tuple,又可以作为括号表示运算时的优先级,结果(1)
被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。
因此,要定义只有一个元素的tuple,需要在元素后面添加一个逗号,
接着,我们创建包含一个元素的tuple。
T = (1) print(T) # ==> 1
T = (1, ) print(T) # ==> (1, )
而对于多个元素的tuple,则加和不加这个逗号,效果是一样的。
>>> T = (1, 2, 3,) >>> print(T) # ==> (1, 2, 3)
查看全部 -
count()方法
count()方法用来统计tuple中某个元素出现的次数。
T = (1, 1, 2, 2, 3, 3, 1, 3, 5, 7, 9) print(T.count(1)) # ==> 3 print(T.count(5)) # ==> 1
对于不存在的元素,count方法不会报错,而是返回0,这是合理的,因为元组里面有0个不存在的元素。
T = (1, 1, 2, 2, 3, 3, 1, 3, 5, 7, 9) print(T.count(10)) # ==> 0
index()方法
index()方法可以返回指定元素的下标,当一个元素多次重复出现时,则返回第一次出现的下标位置。
T = (1, 1, 2, 2, 3, 3, 1, 3, 5, 7, 9) T.index(9) # ==> 10 T.index(5) # ==> 8 T.index(1) # ==> 0 # 多次出现,返回第一次出现的位置
注意,index()方法和count()方法不一样,当指定的元素不存在时,使用index()方法Python会报错。
查看全部 -
输入你的第一行Python代码
print('Hello World')
,回车即可运行,第一次运行,有几个需要注意的地方:注意在
Hello World
前后都有单引号'
print
和>>>
不可以有空格注意
(
、)
、'
、')
均为英文字符
查看全部 -
元组(tuple)和list一样,也是一个有序容器,在元组中,同样可以包含0个或者多个元素,并且也支持索引访问、切片等操作。
定义元组的方式是使用小括号()
将元组内的元素括起来。但是,tuple和list不一样的是,tuple是固定不变的,一旦变成tuple,tuple中的每一个元素都不可被改变,同时也不能再往tuple中添加数据,而list是可以的。
查看全部 -
包含 0 个元素的 tuple,也就是空tuple,直接用
()
表示:T = () print(T) # ==> ()
查看全部 -
Tupe
元组(tuple)和list一样,也是一个有序容器,在元组中,同样可以包含0个或者多个元素,并且也支持索引访问、切片等操作。
定义元组的方式是使用小括号()
将元组内的元素括起来。tuple和list可以互相转换
但是,tuple和list不一样的是,tuple是固定不变的,一旦变成tuple,tuple中的每一个元素都不可被改变,同时也不能再往tuple中添加数据,而list是可以的。
查看全部 -
列表list
添加
末尾添加 append
指定位置添加 insert(位置,元素)例如:insert(2,a)
删除
pop()默认删除列表的最后一个元素
pop()还可以接收一个参数,指定需要删除的元素的位置。例如:pop(2)删除第三个元素
查看全部 -
哈哈查看全部
举报