基础练习-python数据结构习题

##习题1:


列表a = [11,22,24,29,30,32]


1 把28插入到列表的末端
a.append(28)

2 在元素29后面插入元素57
a.insert(4,57)

3 把元素11修改成6
a[0]=6

3 删除元素32
a.remove(32)

4 对列表从小到大排序
a.sort()

##习题2:


列表b = [1,2,3,4,5]


1 用2种方法输出下面的结果:


[1,2,3,4,5,6,7,8]

(1)b.extend([6,7,8])
(2)a = [6,7,8]
a+b

2 用列表的2种方法返回结果:[5,4]
(1)a = b[3:5]
   a.reverse()
(2)a = b[-1:-3:-1]

3 判断2是否在列表里
2 in b

##习题3:


b = [23,45,22,44,25,66,78]


用列表解析完成下面习题:


1 生成所有奇数组成的列表
[x for x in b if x % 2 == 1]

2 输出结果: ['the content 23','the content 45']
["the content %s"%d for d in b[0:2]]


3 输出结果: [25, 47, 24, 46, 27, 68, 80]
[x+2 for x in b]


##习题4:


用range方法和列表推导的方法生成列表:


[11,22,33]


##习题5:


已知元组:a = (1,4,5,6,7)


1 判断元素4是否在元组里
4 in a

2 把元素5修改成8
(1)先将元组改成列表;
(2)然后修改列表里的一个值
(3)再把列表转换成元组
代码如下:
b = list(a)
b[2]=8
tuple(b)
##习题6:


已知集合:setinfo = set('acbdfem')和集合finfo = set('sabcdef')完成下面操作:


1 添加字符串对象'abc'到集合setinfo
setinfo.add('abc')


2 删除集合setinfo里面的成员m
setinfo.remove('m')

3 求2个集合的交集和并集
setinfo&finfo


##习题7:


用字典的方式完成下面一个小型的学生管理系统。


1 学生有下面几个属性:姓名,年龄,考试分数包括:语文,数学,英语得分。


比如定义2个同学:


姓名:李明,年龄25,考试分数:语文80,数学75,英语85
a = {'姓名':'李明','年龄':25,'考试分数':{'语文':75,'数学':82,'英语':78}}

姓名:张强,年龄23,考试分数:语文75,数学82,英语78

b = {'姓名':'张强','年龄':23,'考试分数':{'语文':75,'数学':82,'英语':78}}


2 给学生添加一门python课程成绩,李明60分,张强:80分

a['考试分数']['python'] = 60

b['考试分数']['python'] = 80

3 把张强的数学成绩由82分改成89分
b['考试分数']['数学']=89

4 删除李明的年龄数据

del b['年龄']

5 对张强同学的课程分数按照从低到高排序输出。
 c = b['考试分数'].values()
 d = list(c)
 d.sort()
 d

6 外部删除学生所在的城市属性,不存在返回字符串 beijing

a.pop('city','beijing')
b.pop('city','beijing')

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值