欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

06.字典、集合和序列

程序员文章站 2022-08-06 18:42:10
1.字典练习练习题:字典基本操作字典内容如下:dic = {‘python’: 95,‘java’: 99,‘c’: 100}用程序解答下面的题目字典的长度是多少请修改’java’ 这个key对应的value值为98删除 c 这个key增加一个key-value对,key值为 php, value是90获取所有的key值,存储在列表里获取所有的value值,存储在列表里判断 javascript 是否在字典中获得字典里所有value 的和获取字典里最大的value...

1.字典

练习

练习题:

  1. 字典基本操作

字典内容如下:

dic = {
‘python’: 95,
‘java’: 99,
‘c’: 100
}
用程序解答下面的题目

字典的长度是多少
请修改’java’ 这个key对应的value值为98
删除 c 这个key
增加一个key-value对,key值为 php, value是90
获取所有的key值,存储在列表里
获取所有的value值,存储在列表里
判断 javascript 是否在字典中
获得字典里所有value 的和
获取字典里最大的value
获取字典里最小的value
字典 dic1 = {‘php’: 97}, 将dic1的数据更新到dic中

dic = {
    'python': 95,
    'java': 99,
    'c': 100
    }
print(len(dic))
#3
dic['java'] = 98
del dic['c']
print(dic)
#{'python': 95, 'java': 98}
dic['php']=90
print(list(dic.keys()))
#[95, 98, 90]
'javascript' in dic
#False
print(sum(dic.values()))
#283
print(max(dic.values()))
#98
print(min(dic.values()))
#90
dic1 = {'php':97}
dic.update(dic1)
print(dic)
#{'python': 95, 'java': 98, 'php': 97}

2、字典中的value

有一个字典,保存的是学生各个编程语言的成绩,内容如下

data = {
‘python’: {‘上学期’: ‘90’, ‘下学期’: ‘95’},
‘c++’: [‘95’, ‘96’, ‘97’],
‘java’: [{‘月考’:‘90’, ‘期中考试’: ‘94’, ‘期末考试’: ‘98’}]
}
各门课程的考试成绩存储方式并不相同,有的用字典,有的用列表,但是分数都是字符串类型,请实现函数transfer_score(score_dict),将分数修改成int类型

data = {
        'python': {'上学期': '90', '下学期': '95'},
        'c++': ['95', '96', '97'],
        'java': [{'月考':'90', '期中考试': '94', '期末考试': '98'}]
        }
        
for k in data['python']:
	data['python'][k] = int (data['python'][k])
	
data['c++'] = [int(x) for x in data['c++']]

for k in data['java'][0]:
	data['java'][0][k] = int (data['java'][0][k])
print(data)

2.集合

练习题:

  1. 怎么表示只包含⼀个数字1的元组。
  2. 创建一个空集合,增加 {‘x’,‘y’,‘z’} 三个元素。
  3. 列表[‘A’, ‘B’, ‘A’, ‘B’]去重。
  4. 求两个集合{6, 7, 8},{7, 8, 9}中不重复的元素(差集指的是两个集合交集外的部分)。
  5. 求{‘A’, ‘B’, ‘C’}中元素在 {‘B’, ‘C’, ‘D’}中出现的次数。
#表示只包含⼀个数字1的元组
#元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用
x = 1,
print(x, type(x))
#(1,) <class 'tuple'>

#创建一个空集合,增加 {‘x’,‘y’,‘z’} 三个元素
b = set()
b.add('x')
b.add('y')
b.add('z')
print(b,type(b))
#{'y', 'x'} <class 'set'>

# 列表['A', 'B', 'A', 'B']去重
l = ['A', 'B', 'A', 'B']
l = list(set(l))
print(l, type(l))
#['A', 'B'] <class 'list'>

#求两个集合中不重复的元素(差集指的是两个集合交集外的部分)
l1={6,7,8}
l2 = {7,8,9}
l1|l2-(l1-(l1-l2))
#{6,9}

#求{'A', 'B', 'C'}中元素在 {'B', 'C', 'D'}中出现的次数
l1=list({'A', 'B', 'C'})
l2=list({'B', 'C', 'D'})
for i in l1:
	print(i, l2.count(i))
#A 0
#B 1
#C 1

3.序列

在 Python 中,序列类型包括字符串、列表、元组、集合和字典,这些序列支持一些通用的操作,但比较特殊的是,集合和字典不支持索引、切片、相加和相乘操作。

练习题:

  1. 怎么找出序列中的最大、小值?
    max(lst)
    min(lst)

  2. sort() 和 sorted() 区别

  • sort 是应用在 list 上的方法,属于列表的成员方法,sorted 可以对所有可迭代的对象进行排序操作。
  • list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
  • sort使用方法为ls.sort(),而sorted使用方法为sorted(ls)
  1. 怎么快速求 1 到 100 所有整数相加之和?
    sum(i for i in lst)
  2. 求列表 [2,3,4,5] 中每个元素的立方根。
    lst = [i **3 for i in lst]
  3. 将[‘x’,‘y’,‘z’] 和 [1,2,3] 转成 [(‘x’,1),(‘y’,2),(‘z’,3)] 的形式。
l1=['x', 'y', 'z']
l2=[1,2,3]
l3=zip(l1,l2)
print(type(l3), l3,list(l3))
#<class 'zip'> <zip object at 0x0000027B9B550B48> [('x', 1), ('y', 2), ('z', 3)]

本文地址:https://blog.csdn.net/linyizhoumx/article/details/107659789