一、学习知识点概要、
(一)字典
(二)集合
(三)序列
二、学习内容
三、学习问题与解答
(一)字典
练习题:
1.字典基本操字典内容如下:
dic = {'python': 95,'java': 99,'c':100 }
用程序解答下面的题目
(1)字典的长度是多少
dic = {'python': 95,'java': 99,'c':100 }
print(len(dic))
#3
(2)请修改java这个key对应的value值为98
#对字典里value的修改,通过key才可以
dic = {'python': 95,'java': 99,'c':100 }
dic['java'] = 98
print(dic)
#{'python': 95, 'java': 98, 'c': 100}
(3)删除c这个key
dic = {'python': 95,'java': 99,'c':100 }
del dic['c']
print(dic)
#{'python': 95, 'java': 99}
(4)增加一个key-value对key值为php,value是90
dic = {'python': 95,'java': 99,'c':100 }
dic['php'] = 90
print(dic)
#{'python': 95, 'java': 99, 'c': 100, 'php': 90}
(5)获取所有的key值,存储在列表里
dic = {'python': 95,'java': 99,'c':100 }
lst = list(dic.keys())
print(lst)
#['python', 'java', 'c']
(6)获取所有的value值,存储在列表里
dic = {'python': 95,'java': 99,'c':100 }
lst = list(dic.values())
print(lst)
#[95, 99, 100]
(7)判断javascript 是否在字典中
dic = {'python': 95,'java': 99,'c':100 }
print('javascript' in dic)
#False
(8)获得字典里所有value的和
dic = {'python': 95,'java': 99,'c':100 }
print(sum(dic.values()))
#294
(9)获取字典里最大的value
dic = {'python': 95,'java': 99,'c':100 }
print(max(dic.values()))
#100
(10)获取字典里最小的value
dic = {'python': 95,'java': 99,'c':100 }
print(min(dic.values()))
#95
(11)字典dic1={php:97},将dic1的数据更新到dic中
dic = {'python': 95,'java': 99,'c':100 }
dic1 = {'php': 97}
dic.update(dic1)
print(dic)
#{'python': 95, 'java': 99, 'c': 100, 'php': 97}
2.字典中的value
(1)有一个字典,保存的是学生各个编程语言的成绩,内容如下
data = {
'python': {'上学期":'90’,'下学期":'95’}.
'c++': ['95','96','97'],
'java':[{'月考:90,"期中考试':'94’,'期末考试":
'98'}]
}
各门课程的考试成绩存储方式并不相同,有的用字典,有的用列表,但是分数都是字符串类型,请实现函数transfer_score(score_dict),将分数修改成int类型
def transfer_score(data):
# your code here
#i cannot not understand the answer>_<
#i will accomplish it soon
(二)集合
1.怎么表示只包含一个数字1的元组。
{1,}
2.创建一个空集合,增加{‘x’,‘y’,‘z’}三个元素。
a=set()#创建一个空集
a.add('x')
a.add('y')
a.add('z')
print(a)
#{'z', 'x', 'y'}
3.列表['A’,'B’,‘A’,‘B’]去重。
a=set(("A","B","A","B")) #很多次运行不了,原来得用双引号
print(a)
#{'B', 'A'}
4.求两个集合{6,7,8},{7,8,9}中不重复的元素
(差集指的是两个集合交集外的部分)。
A={6, 7, 8}
B={7, 8, 9}
(A|B)-(A&B)
#{6, 9}
5.求{‘A’,‘B’,‘C’}中元素在{‘B’,‘C’,‘D’}中出现的次数。
x={'A','B','C'}
y={'B','C','D'}
print(len(x&y))#这个做法不知道对不对,找出相同的元素,然后求个数
#2
(三)序列
1.怎么找出序列中的最大、小值?
max(seq)
min(seq)
2.sort()和sorted()区别。
sort()是list内置函数,而sorted()是全局函数
sort()会对原列表进行修改,而sorted()不会
3.怎么快速求1到100所有整数相加之和?
sum = 0
for i in range(1,101):
sum = sum + i
print(sum)
#5050
4.求列表[2,3,4,5]中每个元素的立方根。
[item for item in map(lambda x:pow(x,1/3), [2,3,4,5])]
#[1.2599210498948732, 1.4422495703074083, 1.5874010519681994, 1.7099759466766968]
#map函数
5.将[‘x’,‘y’,‘z’]和[1,2,3]转成[(‘x’,1),(‘y’,2),(‘z’,3)]的形式.
a=['x','y','z']
b=[1,2,3]
c=zip(a,b)
print(list(c))
#[('x', 1), ('y', 2), ('z', 3)]
四、学习思考与总结
1.字典最后一道要改类型,不太理解,看了别的代码也有点懵,希望自己能静下心再好好看看。
2.每次做完都动力满满,想继续做下一篇,加油!再接再厉哈哈😃
3.打卡后去学别的编程感觉更好。
4.最近要考试,也要好好复习功课了。