定义一个函数,可以对传入的数据进行排序,通过一个参数来决定是正向排序还是倒叙排序

定义,一个,函数,可以,传入,数据,进行,排序,通过,参数,决定,正向,还是,倒叙 · 浏览次数 : 15

小编点评

**主要知识点:** 1. **类型转换:** 将元组转换为列表。 2. **数据排序:** 按指定顺序排序列表元素。 3. **正向和反向排序:** 根据传入参数决定排序方向。 4. **列表推导式:** 利用列表推导式创建新的列表。 **代码示例:** ```python def f(*args): print(args) print(type(args)) o = args[0] li = o.split(',') print(li) oli = [] for i in li: oli.append(int(i)) print(sorted(oli)) def a(i, *args): if i: pass else: return sorted(args) print(a(0, 3, 1, 7, 2)) ``` **截图:** ``` ['23,45,2,4,5'] ------------------------- [2, 4, 5, 23, 45] ``` **其他知识点:** * 列表推导式可以创建包含多个数据类型元素的列表。 * `sorted()` 函数可以按照指定的排序规则排序列表元素。 * `f()` 函数可以接受两个参数,分别代表排序方向(正向或反向)。 * `a()` 函数可以根据不同的参数返回不同的结果。

正文

一:考察的主要知识点:

类型的转换  :先由元组--字符串--最后到列表实现数据排序(写代码前要梳理好思路)

 1. 实现数据排序:

def f(*args):  # *args 不定长数据
    print(args) # 输出的是元组 ('23,45,2,4,5',)  
    print(args[0],type(args))  # 23,45,2,4,5 <class 'tuple'>
    o=args[0]  # 字符串
    # for i in o:
    #     print(i)

    li=o.split(',')  # 把字符串切割成列表,列表里面的元素都是字符转需要类型转换,然后依次加入新的列表里面实现排序
    print(li)  # ['23', '45', '2', '4', '5']
    print('-------------------------')

    oli=[] # 定义一个空列表
    for i in li:
        oli.append(int(i))

    print(sorted(oli))  # [2, 4, 5, 23, 45]

inp=input('请输入排序的数据:') # 23,45,2,4,5

f(inp)

运行截图:

  

2.通过一个参数来决定是正向排序还是倒叙排序(写代码前要梳理好思路)

'''

1、定义函数def
2、接受数据 ---参数===不定长参数
3、再来一个参数来决定是正向还是反向---if
4、sorted reversed

'''
def f(i,*args):
if i: # i为True,非0,不为空 none 正向
pass
else: # 反向
pass

 代码块:

def f(i,*args):
    if i: # i为True,非0,不为空 ,不为none---- 正向
        # print(sorted(args))
        return sorted(args)
    else: # 反向
        # print(list(reversed(sorted(args))))

        return list(reversed(sorted(args)))

# f(0,3,1,7,2) # 调用函数
a=f(0,3,1,7,2) # 调用函数
print(a)

代码截图:

 其他知识点:

 列表推导式

# print(1)
# [print(1)]
list=[1,2,3,4,5,6,7,8]
#
for i in list:
   # print(i)
    pass
[print(i) for i in range(1,9)]
print('------------------------------')
[print(i) for i in range(1,9) if i>5]

代码截图:

  

与定义一个函数,可以对传入的数据进行排序,通过一个参数来决定是正向排序还是倒叙排序相似的内容:

定义一个函数,可以对传入的数据进行排序,通过一个参数来决定是正向排序还是倒叙排序

一:考察的主要知识点: 类型的转换 :先由元组--字符串--最后到列表实现数据排序(写代码前要梳理好思路) 1. 实现数据排序: def f(*args): # *args 不定长数据 print(args) # 输出的是元组 ('23,45,2,4,5',) print(args[0],type(

创建型:工厂模式-简单工厂

定义 之所以叫简单工厂是因为真的非常简单,只要一个工厂(函数)就可以了,如果把被创建的对象称为产品,把创建产品的对象或者方法称为工厂,那么只需要传入不同的参数,就可以返回不同的产品(实例),这种模式就叫简单工厂模式。 简单工厂-餐馆点菜 工厂模式其实就是将创建对象的过程单独封装在一个工厂中。 它很像

4.6 x64dbg 内存扫描与查壳实现

LyScript 插件中默认提供了多种内存特征扫描函数,每一种扫描函数用法各不相同,在使用扫描函数时应首先搞清楚不同函数之间的差异,本章内容将分别详细介绍每一种内存扫描函数是如何灵活运用,并实现一种内存查壳脚本,可快速定位目标程序加了什么壳以及寻找被加壳程序的入口点。软件查壳的实现原理可以分为静态分析和动态分析两种方式。静态分析是指在不运行被加壳程序的情况下,通过对程序的二进制代码进行解析,识别出

函数的作用域和匿名函数、闭包、回调

一、匿名函数: 1、filter函数,可以过滤出列表中大于3的数据,但是使用都需要提前定义一个函数,有没有更加简便的方式呢? def f(o): # 过滤器 if o>3: print(o) list(filter(f,[3,1,5,9,7,10])) 运行截图: 2、匿名函数(lambda后面是空

08. C语言函数

【函数基础】 函数用于将程序代码分类管理,实现不同功能的代码放在不同函数内,一个函数等于一种功能,其它函数可以调用本函数执行。 C语言规定所有的指令数据必须定义在函数内部,比如之前介绍的程序执行流程控制语句,另外修改全局变量的操作也是通过指令进行的,所以全局变量只能在函数内修改。 数据作用域 定义的

5.0 Python 定义并使用函数

函数是python程序中的基本模块化单位,它是一段可重用的代码,可以被多次调用执行。函数接受一些输入参数,并且在执行时可能会产生一些输出结果。函数定义了一个功能的封装,使得代码能够模块化和组织结构化,更容易理解和维护。在python中,函数可以返回一个值或者不返回任何值,而且函数的参数可以是任何python对象,包括数字、字符串、列表、元组等。python内置了许多函数,同时也支持用户自定义函数。

golang interface 和 struct 添加方法的区别

在 Go 语言中,struct 和 interface 都可以关联方法,但它们的方式不同: 1. struct 添加方法: 结构体(struct)本身不直接包含方法,但可以通过定义一个指向该结构体类型的指针作为接收者的函数来为结构体“添加”方法。 type MyStruct struct { //

[转帖]【JVM】堆内存与栈内存详解

堆和栈的定义 java把内存分成栈内存和堆内存。 (1)栈内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。 当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另

行为型:策略模式

定义 定义一系列的算法,将他们一个个封装起来,使他们直接可以相互替换。 算法:就是写的逻辑可以是你任何一个功能函数的逻辑 封装:就是把某一功能点对应的逻辑给抽出来 可替换:建立在封装的基础上,这些独立的算法可以很方便的替换 通俗的理解就是,把你的算法(逻辑)封装到不同的策略中,在不同的策略中是互相独

4.0 Python 变量与作用域

在python中,变量的作用域决定了变量在哪些位置可以被访问。一个程序中的变量并不是所有的地方都可以访问的,其访问权限决定于变量的赋值位置。python中有两种最基本的变量作用域:局部作用域和全局作用域。局部变量是在函数内部定义的变量,只能在其被声明的函数内部访问。而全局变量则是在函数外定义的变量,可以在整个程序的范围内被访问。局部变量只有在其被声明的函数内部才能被访问,全局变量则可以在程序的任何