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

【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])
  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值