【Python】编写代码,实现指定需要进行正序核倒序排序算法编程

简介: 在本次python文章中,主要通过定义一个排序方法,实现一组数列能够按照另一组数列指定的位置进行重新排序输出,默认正序排序,可通过True表示逆序输出
作者:小5聊基础
简介:一只喜欢全栈方向的程序员,欢迎咨询,尽绵薄之力答疑解惑
编程原则:Write Less Do More
编号 语言或插件 修饰符 说明
1 python def 定义方法关键词
2 python list() 数列,就是数组,方括号括起来值,遍历只能获取到值
3 python tule() 元组,括号括起来值,遍历可获取到值和下标
4 python enumerate() 函数用于遍历序列中的元素以及它们的索引
5 python len() 统计长度
6 python 逆序小技巧 [1,2,3,4,5][::-1]

【数列和元组知识点说明】

1)list,数列,结合for循环遍历时,只能遍历值,无法获取到下标,如下方式会报错

格式:lst=[1,2,3,4,5]

image.png

2)正确遍历方式

image.png

3)如果需要遍历到下标,可以通过增加多一个变量,如下

index=0
for value in ['a','b','c']:
    index+=1
    print(value)

4)还有一种方式就是将数列和元组通过enumerate方式遍历

格式,注意顺序,第一个是索引,第二个参数是值:

for index,value in enumerate(['a','b','c']):
    print(f'index={index},value={value}')

image.png

5)数列逆序输出小技巧,-1表示从最后一个值反序输出
[1,2,3,4,5][::-1]

image.png

【自定义排序规则】

1)按照order的元素作为lst对应位置的元素的应该顺序

2)并按照该顺序重新排列lst,返回排序后的结果列表

3)支持逆序

【自定义排序编码】

1)定义函数名为,sort_by

def sort_by(lst:list, order:list, reverse=False)->list:
    pass

2)定义两组list数列如下

a = ['Lee', 'Bush', 'Danny', 'Juan', 'James', 'Liam']
b = [3, 2, 6, 4, 1, 5]

3)通过上面的一些知识点了解,即可完成数列的自定义正序排序和逆序排序

7cfd5198f49893e46757664309cbccd.png

  • 完整代码如下
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# 2022.06.21 12:00
import sys 

def sort_by(lst:list, order:list, reverse=False) -> list:
    pass
    new_list = []
    for i in range(len(lst)):
        new_list.append(i)
    for index,value in enumerate(lst):
        position = order[index] - 1
        new_list[position] = value

    if reverse==True:
        return new_list[::-1]
    else:
        return new_list
a = ['Lee', 'Bush', 'Danny', 'Juan', 'James', 'Liam']
b = [3, 2, 6, 4, 1, 5]

print(sort_by(a, b)) 
# ['James', 'Bush', 'Lee', 'Juan', 'Liam', 'Danny']

print(sort_by(a, b, True)) 
# ['Danny', 'Liam', 'Juan', 'Lee', 'Bush', 'James']
相关文章
|
6天前
|
并行计算 C语言 开发者
优化Python代码的五大技巧
Python作为一种流行的编程语言,在各种应用场景中广泛使用。然而,随着项目规模的增长和需求的变化,Python代码的性能和可维护性也成为了关键问题。本文将介绍优化Python代码的五大技巧,帮助开发者提升代码效率和质量。
|
1天前
|
机器学习/深度学习 人工智能 数据可视化
Python:探索编程之美
Python:探索编程之美
9 0
|
1天前
|
机器学习/深度学习 人工智能 数据处理
Python编程的魅力与实践
Python编程的魅力与实践
|
1天前
|
机器学习/深度学习 人工智能 算法
机械视觉:原理、应用及Python代码示例
机械视觉:原理、应用及Python代码示例
|
1天前
|
存储 缓存 算法
优化Python代码性能的7个技巧
在日常的Python开发中,优化代码性能是一个重要的课题。本文介绍了7个实用的技巧,帮助开发者提高Python代码的执行效率,包括利用生成器表达式、使用适量的缓存、避免不必要的循环等。通过本文的指导,读者可以更好地理解Python代码性能优化的方法,提升自身的编程水平。
|
2天前
|
算法 数据可视化 Python
Python用MCMC马尔科夫链蒙特卡洛、拒绝抽样和Metropolis-Hastings采样算法
Python用MCMC马尔科夫链蒙特卡洛、拒绝抽样和Metropolis-Hastings采样算法
12 6
|
2天前
|
SQL 关系型数据库 MySQL
第十三章 Python数据库编程
第十三章 Python数据库编程
|
2天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
3天前
|
机器学习/深度学习 算法 搜索推荐
Python用机器学习算法进行因果推断与增量、增益模型Uplift Modeling智能营销模型
Python用机器学习算法进行因果推断与增量、增益模型Uplift Modeling智能营销模型
30 12
|
3天前
|
人工智能 Python
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
21 0