当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 06.字典、集合和序列

06.字典、集合和序列

2020年07月30日  | 移动技术网IT编程  | 我要评论

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网