-
Python dict的特点
比list查找速度快,占用内存大,完全key和value一致,但是无序。可以不重复
key不可变,tuple可做key,比如:
key = (1, 2, 3) # 以tuple作为key
d[key] = True
key = [1, 2, 3]
d[key] = True
# 报错条件遍历,如成绩超过60的,在这种情况下,我们需要则需要遍历dict(这种时候需要使用for循环):
第一种是遍历dict的所有key,并通过key获得对应的value。
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49
}
for key in d: # 遍历d的key
value = d[key]
if value > 60:
print(key, value)
# ==> Candy 75
# ==> David 86第二种方法是通过dict提供的items()方法,items()方法会返回dict中所有的元素,每个元素包含key和value。
for key, value in d.items():
if value > 60:
print(key, value)
# ==> Candy 75
# ==> David 86任务:请把每个同学的每次成绩依次输出。
d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}
for key, value in d.items():
for score in value:
print(key, score)查看全部 -
在dict中,使用keys()方法,可以返回dict的所有key,在删除某个元素时,可以通过这个方法先判断某个元素是否存在,
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49
}
name = 'Alice'
if name in d.keys():
d.pop(name)
else:
print('{} not in d'.format(name))查看全部 -
Python更新dict元素
d['Bob'] = 75
当key不存在时,往dict中添加对应的key: value元素。当key存在时,会更新dict,用新的value替换原来的value。
因此,在使用赋值语句往dict中添加元素时,为了避免不必要的覆盖问题,我们需要先判断key是否存在,然后再做更新。d.get('Alice')不会报错。
查看全部 -
添加dict元素
d = { 'Alice':[45], 'Bob': 60}
d['Alice'].append(75) #Alice对应的value值是列表
print(d)#{'Alice': [45, 75], 'Bob': 60}
d['Mimi'] = [72, 73]
print(d)#{'Alice': [45, 75], 'Bob': 60, 'Mimi': [72, 73]}
查看全部 -
读取dict元素
方法一
d = {'Alice': 45, 'Gaven': 86}
print(d['Alice']) # ==> 45
print(d['Dodo'])# 抛出异常,字典里没有Dodo
if 'Alice' in d:
print(d['Alice']) # ==> 45 #以避免错误。if 'Dodo' in d: # Dodo不存在,所以不会走下面的逻辑
print(d['Dodo'])
方法二把key当作参数传递给get方法,就可以获取对应的value,当key不存在时,也不会报错,而是返回None。
print(d.get('Alice')) # ==> 45
print(d.get('Dodo')) # ==> None
因此更加推荐使用get方法来获取dict的元素。查看全部 -
什么是dict字典
我们使用花括号{}表示这是一个dict,
然后key和value之间使用冒号:分割,
并且每一组key:value的最后,以逗号,表示这一组的结束。
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49
}查看全部 -
对于tuple中的组合数据类型,可变。
这里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])查看全部 -
创建单个元素的tuple
T = (1, )
义只有一个元素的tuple,需要在元素后面添加一个逗号,。
查看全部 -
count()方法用来统计tuple中某个元素出现的次数。
T = (1, 1, 2, 2, 3, 3, 1, 3, 5, 7, 9)
print(T.count(1)) # ==> 3
对于不存在的元素,count方法不会报错,而是返回0,这是合理的,因为元组里面有0个不存在的元素。T = (1, 1, 2, 2, 3, 3, 1, 3, 5, 7, 9)
print(T.count(10)) # ==> 0index()方法返回指定元素的下标,当一个元素多次重复出现时,则返回第一次出现的下标位置。当指定的元素不存在时,使用index()方法Python会报错。
T = (1, 1, 2, 2, 3, 3, 1, 3, 5, 7, 9)
T.index(9) # ==> 10
T.index(1) # ==> 0 # 多次出现,返回第一次出现的位置查看全部 -
什么是tuple元组
元组(tuple)和list一样,也是一个有序容器,在元组中,同样可以包含0个或者多个元素,并且也支持索引访问、切片等操作。
tuple是固定不变的,一旦变成tuple,tuple中的每一个元素都不可被改变,同时也不能再往tuple中添加数据,而list是可以的。
T = ('Alice', 'Bob', 'Candy', 'David', 'Ellena')
print(T) # ==> ('Alice', 'Bob', 'Candy', 'David', 'Ellena')
L = list(T)#元组转换为列表
T = tuple(L)#列表转换为元组查看全部 -
Python二维list
alice_scores = [100, 89, 92]
bob_scores = [70, 65, 81]
candy_scores = [88, 72, 77]
all_scores = [alice_scores, bob_scores, candy_scores]
print(all_scores) # ==> [[100, 89, 92], [70, 65, 81], [88, 72, 77]]
score = all_scores[1][2] # ==> 81有三个长方体,他们的长宽高分别是[1, 2, 3], [5, 3, 2], [7, 3, 2],定义在数组L中,L = [[1, 2, 3], [5, 3, 2], [7, 3, 2]],请分别求出三个长方体的表面积。
L = [[1,2,3], [5, 3, 2], [7,3,2]]
for cube in L:
length = cube[0]
width = cube[1]
height = cube[2]
result = length * width * 2 + width * height * 2 + length * height * 2
print(result)查看全部 -
Python从list删除元素
pop()方法默认删除列表的最后一个元素,并返回。
L = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
name = L.pop()
print(name) # ==> Ellena
print(L) # ==> L = ['Alice', 'Bob', 'Candy', 'David']pop()还可以接收一个参数,指定需要删除的元素的位置。
L = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
name = L.pop(2)
print(name) # ==> Candy
print(L) # ==> ['Alice', 'Bob', 'David', 'Ellena']查看全部 -
Python向list添加新的元素
用append()方法,把新同学追加到列表的末尾:
names = ['Alice', 'Bob', 'David', 'Ellena']
names.append('Candy')
print(names) # ==> ['Alice', 'Bob', 'David', 'Ellena', 'Candy']insert()方法,插入当中。分别是需要插入的位置,以及需要插入的元素。
names = ['Alice', 'Bob', 'David', 'Ellena']
names.insert(2, 'Candy')
print(names) # ==> ['Alice', 'Bob', 'Candy', 'David', 'Ellena']查看全部 -
Python倒序访问list
可以使用-1来表示最后一个元素。
names = ['Alice', 'Bob', 'David', 'Ellena']
print(names[-1]) # ==> Ellena查看全部 -
按索引访问list
通过索引访问列表里面的元素
names = ['Alice', 'Bob', 'David', 'Ellena']
print(names[0])列表和字符串一样,也支持切片,通过切片的方式,获取到列表的子列表。
names = ['Alice', 'Bob', 'David', 'Ellena']
sub_names = names[0:2]查看全部
举报