您的位置:首页 > 编程语言 > Python开发

【Python】第8次练习:列表——程序填空题 -合并队列、列表元素"零"的移动、列表逆序输出、第K序元素查找

2020-01-14 18:18 841 查看

【Python】第8次练习:列表——程序填空题 -合并队列、列表元素"零"的移动、列表逆序输出、第K序元素查找

1、程序填空题 -合并队列

题目:某班男女两队同学各若干人,男生已按身高由低到高存放在列表中,女生身高需输入到一个列表。体育课排队欲由男、女两队合为一队。请保持从低到高的顺序不变,将合并队列的结果按格式"身高(性别)"输出。如下所示。

boy = [1.69, 1.72, 1.78, 1.83, 1.89]
girl = list(eval(input()))
#(1)
girl=sorted(girl)
print('男队身高:', end='')
for b in boy:
print(b, end=' ')
print('\n女队身高:', end='')
for g in girl:
print(g, end=' ')
print('\n合并后:', end='')
#(2)
i=0
j=0
while j<len(girl):
if boy[i] < girl[j]:
print(boy[i], '(男)', sep='', end = ' ')
i += 1
else:
print(girl[j], '(女)', sep='', end = ' ')
j += 1
while i < len(boy):
print(boy[i], '(男)', sep='', end = ' ')
i += 1
while j < len(girl):
print(girl[j], '(女)', sep='', end = ' ')
j +=1

2、列表元素"零"的移动

题目:对于一个列表,在保持非零元素相对顺序的同时,将元素中所有的数字0移动到末尾。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬例如,获得输入列表 [0, 1, 0, 3, 12],输出 [1, 3, 12, 0, 0]。

ls=eval(input())
lt1=[]
lt2=[]
for i in range(len(ls)):
if ls[i]==0:
lt1.append(0)
else:
lt2.append(ls[i])
print(lt2+lt1)

3、列表逆序输出

题目:建立如下列表并原样输出,并将列表中的数据逆序存放再次输出。a=[1,2,3,4,5,6,7]

a=[1,2,3,4,5,6,7]
print(a)
a.reverse()
print(a)

4、第K序元素查找

题目:在无排序的一个列表中查找第k个最大元素。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬例如, 给定3,2,1,5,6,4和k=2,返回5。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬注意: 假设k总是有效的,0 <= k <=数组的长度

a=list(eval(input()))
k=eval(input())
a=sorted(a)
a.reverse()
print(a[k-1])
  • 点赞
  • 收藏
  • 分享
  • 文章举报
蝎J 发布了13 篇原创文章 · 获赞 1 · 访问量 455 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐