找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3119|回复: 2

[求助] 列表题目解答求助

1

主题

1

帖子

1

积分

贫民

积分
1
wx_uAF9FTs4 发表于 2020-10-21 19:57:24 | 显示全部楼层 |阅读模式
本帖最后由 wx_uAF9FTs4 于 2020-10-21 19:59 编辑

list1 = [3,4,8,9,12
list2 = [5,6,10,13,25,30]网上的一个题目,两个递增list,合并成一个新的递增list,不能用方法sorted,要求循环来解答,下面是小弟的解答
list3 = []
速度
for i in list1:
for k in list2:
if i < k:
list3.append(i)
break
        else:
list3.append(k)
list2.remove(k)
for j in list2:
list3.append(j)
print(list3)#运行结果为以下[3, 4, 5, 8, 6, 9, 10, 12, 13, 25, 30]请问为什么别的顺序没问题,只有8会在6的前面!!!

回复

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2020-10-26 12:28:53 | 显示全部楼层
用list(set(list3))
回复 支持 反对

使用道具 举报

1

主题

3

帖子

3

积分

贫民

积分
3
Neo_LJbH5 发表于 2020-10-30 08:47:16 | 显示全部楼层
list1 = [3,4,8,9,12]
list2 = [5,6,10,13,25,30]
list3 = list1 + list2

def bubble_sort(nums):
    for i in range(len(nums) - 1):  # 这个循环负责设置冒泡排序进行的次数
        for j in range(len(nums) - i - 1):  # j为列表下标
            if nums[j] > nums[j + 1]:
                nums[j], nums[j + 1] = nums[j + 1], nums[j]
    return nums

print(bubble_sort(list3))

冒泡排序,先合并列表,然后判断相邻的两个元素谁更小,交换位置
你这样迭代不完全所以比较会出现问题
而且如果list1 list2也都是乱序的,你这个就更不对了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表