网易极客战记官网codecombat|干货:数组合并小技巧 与 如何只用While实现冒泡排序

今天将为大家讲解一下Python中如何把两个list合并,并按从小到大顺序排列。

本题分为两个部分:一个是list的合并,一个是用while loop循环将合并后的数组从小到大进行排序——排序问题。

1. List的合并:

list的合并其实非常简单,只需要用“+”号对两个数组进行相加,另一个数组就会被加到前一个数组的末端,如代码:

list1 = [7,3,10,12,5,1,2]

list2 = [4,6,11]

list3 = list1 + list2

print(list3)

最后输出的结果就会是:
在这里插入图片描述
简单相加,即可轻松完成两个列表的合并。

2.While loop的冒泡排序法:

本题其实最大的难点在于此,与普通的题目不同的是,本题所要求的排序,必须要使用While loop循环

用来排序的算法有很多:冒泡排序、选择排序、插入排序等。

在这里我们选择了新手最常掌握的冒泡排序法:

冒泡排序法又叫交换排序法,每次会将相邻的两个数进行比较,如果这两个数不符合比较条件,则将其位置进行交换。

举个例子:

3,4,2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
解析 `<Idle|MPos:0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,0.000>` 这个字符串可以使用字符串分割和正则表达式等方法来提取出需要的信息。下面是一个示例的解析代码: ```python import re def parse_grbl_status(status_string): # 使用正则表达式匹配出各个状态信息 match = re.match(r'<(.*?)\|MPos:(.*?)\|FS:(.*?)\|WCO:(.*?)>', status_string) if match: # 提取出各个状态信息 machine_state = match.group(1) machine_position = match.group(2) feed_rate = match.group(3) work_coordinate_offset = match.group(4) # 返回解析后的状态信息 return { 'machine_state': machine_state, 'machine_position': machine_position, 'feed_rate': feed_rate, 'work_coordinate_offset': work_coordinate_offset } else: # 解析失败,返回空字典 return {} ``` 使用上述代码,你可以将 `<Idle|MPos:0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,0.000>` 这个字符串传入 `parse_grbl_status` 函数中,它将返回一个包含解析后状态信息的字典。 示例用法: ```python status_string = '<Idle|MPos:0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,0.000>' status_info = parse_grbl_status(status_string) print(status_info) ``` 输出结果: ``` { 'machine_state': 'Idle', 'machine_position': '0.000,0.000,0.000', 'feed_rate': '0,0', 'work_coordinate_offset': '0.000,0.000,0.000' } ``` 注意,解析代码的正则表达式模式根据实际返回的字符串格式进行了简单的设定,如果返回的格式有所变化,可能需要相应地调整正则表达式模式来匹配正确的状态信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值