当前位置:   article > 正文

python---3--sort、lambdalen(list1)、sorted_numbers = sorted(numbers)、list.sort()

python---3--sort、lambdalen(list1)、sorted_numbers = sorted(numbers)、list.sort()

学习目标:

  • lambda
  • len(list1)

  • sorted_numbers = sorted(numbers)
  • list.sort()

目录

学习目标:

学习内容:

匿名函数  lambda表达式

lambda [参数]: 函数

不需要return

len(list1)

sorted_numbers = sorted(numbers)

list.sort(key=None, reverse=False)

按照指定的函数排序----list.sort(key=函数)

sort() 函数的 key 参数可以接受一个函数,该函数用于指定排序的依据。这个函数会在排序过程中被调用,每次调用时传入列表中的一个元素作为参数,并返回一个用于排序的值。

def get_length(word):

return len(word)

words = ['apple', 'banana', 'orange', 'pear']

words.sort(key=get_length)

print(words) # 输出 ['pear', 'apple', 'banana', 'orange']

1. 按照默认方式排序

2. 按照指定的函数排序

学习时间:

学习产出:


学习内容:

  1. lambda
  2. len(list1)

  3. sorted_numbers = sorted(numbers)
  4. list.sort()

匿名函数  lambda表达式

lambda [参数]: 函数

不需要return

len(list1)

sorted_numbers = sorted(numbers)

list.sort(key=None, reverse=False)

按照指定的函数排序----list.sort(key=函数)

sort() 函数的 key 参数可以接受一个函数,该函数用于指定排序的依据。这个函数会在排序过程中被调用,每次调用时传入列表中的一个元素作为参数,并返回一个用于排序的值。

def get_length(word):

return len(word)

words = ['apple', 'banana', 'orange', 'pear']

words.sort(key=get_length)

print(words) # 输出 ['pear', 'apple', 'banana', 'orange']

  1. my_list = [5, 2, 9, 1, 5]
  2. my_list.sort()
  3. print(my_list)
  4. 升序排列
  5. 降序排列
  6. my_list = [5, 2, 9, 1, 5]
  7. my_list.sort(reverse=True)
  8. print(my_list)
  9. 1.自定义排序规则
  10. sort()方法默认按升序排序,但有时你可能需要根据特定的规则进行排序。你可以使用key参数来指定一个函数,该函数将根据其返回的值来排序列表元素。例如,假设你有一个字符串列表,你想按字符串的长度进行排序
  11. my_list = ["apple", "banana", "cherry", "date"]
  12. my_list.sort(key=len)
  13. print(my_list)
  14. 2.多重排序
  15. 有时候,你可能需要在不同的字段上进行多次排序。你可以通过多次调用sort()方法来实现这一点,或者使用sorted()函数的key参数来进行多重排序。例如,假设你有一个包含学生姓名、年龄和分数的列表,你想首先按分数降序排序,然后按姓名升序排序:
  16. students = [("Alice", 25, 95), ("Bob", 30, 88), ("Alex", 25, 92), ("Eve", 22, 95)]
  17. students = sorted(students, key=lambda x: (-x[2], x[0]))
  18. print(students)
  19. 这将首先按分数降序排序,然后按姓名升序排序。
  20. 代码解释
  21. 对一个包含学生信息的列表进行排序。这段代码使用了Python的sorted()函数,并传递了一个自定义排序键(key)函数,这个函数使用lambda表达式定义。现在,让我详细解释每一部分的作用:
  22. students 列表包含了元组,每个元组都有三个元素:姓名、年龄和分数。
  23. sorted() 函数用于对 students 列表进行排序。排序的方式是使用 key 参数指定的函数来确定每个元素的排序键。
  24. lambda x: (-x[2], x[0]) 是一个匿名函数,也称为 lambda 函数。它接受一个参数 x,这里 x 代表了列表中的每个元组(姓名、年龄和分数)。lambda 函数返回一个元组,其中包含两个值:第一个值是分数的负数(-x[2]),第二个值是姓名 x[0]。
  25. 排序过程首先按照分数降序排序,也就是按照 (-x[2]) 的值排序。这意味着分数高的学生会在前面。
  26. [("Alice", 25, 95), ("Eve", 22, 95), ("Alex", 25, 92), ("Bob", 30, 88)]
  27. 如果两个学生有相同的分数,那么它们将按照姓名升序排序(x[0])。这是在排序相同分数的学生时的第二个排序条件。
  28. [("Alice", 25, 95), ("Eve", 22, 95), ("Alex", 25, 92), ("Bob", 30, 88)]
  29. 最后,通过 print(students) 将排序后的 students 列表输出到控制台。
  30. 所以,输出结果就是按照分数降序排列,如果分数相同,则按照姓名升序排列的学生列表。这个示例演示了如何进行多重条件的排序,以满足不同排序标准。
  31. 三、再次进阶
  32. 或许有人问“假如我想按中文字的拼音排序,或者按姓名汉字的笔画多少排序,是否可以实现啊?”
  33. 是的,你可以实现按中文字的拼音或笔画排序。
  34. 1准备
  35. 要做到这一点,你需要使用Python的第三方库来进行中文排序。其中,cn_sort库可以帮助你实现这些需求。
  36. 首先,你需要安装名为'cn_sort'的Python库,它包含了用于按照中文词组的拼音和笔顺进行排序的功能。你可以使用pip来安装:
  37. 打开命令提示符
  38. 输入pip install cn_sort --upgrade
  39. 2按拼音排序
  40. from cn_sort.process_cn_word import sort_text_list, Mode
  41. names = ["张三", "李四", "王五", "赵六"]
  42. # 使用 cn_sort 库对中文姓名按拼音进行排序
  43. sorted_names = list(sort_text_list(names, mode=Mode.PINYIN))
  44. print(sorted_names)
  45. 3按笔画排序
  46. from cn_sort.process_cn_word
  47. import sort_text_list, Modenames = ["张三", "李四", "王五", "赵六"]
  48. # 使用 cn_sort 库对中文姓名按笔画进行排序
  49. sorted_names = list(sort_text_list(names, mode=Mode.BIHUA))
  50. print(sorted_names)
  51. 提示1:为了方便,你可以复制文中的完整代码并在你的代码编译器中运行。
  52. 提示2:请特别注意Python的代码缩进。因正确的缩进,对于代码的理解至关重要,所以请确保代码块正确缩进,以避免错误。

sort() 函数是 Python 中用于对列表进行排序的内置函数。它可以按照升序或降序对列表中的元素进行排序。sort() 函数会直接修改源列表,而不会返回一个新的排序后的列表。

sort() 函数的基本语法如下:

```

list.sort(key=None, reverse=False)

```

其中,key 和 reverse 都是可选参数。key 是一个用于排序的函数,reverse 是一个布尔值,用于指定是否按降序进行排序。

1. 按照默认方式排序

如果不提供任何参数,sort() 函数会按照默认方式对列表进行升序排序。默认排序是根据元素的大小进行排序,对于数字类型的元素,按照从小到大的顺序排序;对于字符串类型的元素,按照字母的顺序进行排序。

示例代码如下:

```python

numbers = [5, 2, 8, 1, 9]

numbers.sort()

print(numbers) # 输出 [1, 2, 5, 8, 9]

fruits = ['apple', 'banana', 'orange', 'pear']

fruits.sort()

print(fruits) # 输出 ['apple', 'banana', 'orange', 'pear']

```

2. 按照指定的函数排序

sort() 函数的 key 参数可以接受一个函数,该函数用于指定排序的依据。这个函数会在排序过程中被调用,每次调用时传入列表中的一个元素作为参数,并返回一个用于排序的值。

示例代码如下:

```python

def get_length(word):

return len(word)

words = ['apple', 'banana', 'orange', 'pear']

words.sort(key=get_length)

print(words) # 输出 ['pear', 'apple', 'banana', 'orange']

```

在这个例子中,我们定义了一个函数 get_length(),它返回一个单词的长度。然后我们使用这个函数作为 key 参数传递给 sort() 函数,这样列表中的元素会根据它们的长度进行排序。

3. 按照降序排序

如果想要按照降序排序,可以将 reverse 参数设置为 True。

示例代码如下:

```python

numbers = [5, 2, 8, 1, 9]

numbers.sort(reverse=True)

print(numbers) # 输出 [9, 8, 5, 2, 1]

```

在这个例子中,我们将 reverse 参数设置为 True,这样列表中的元素会按照从大到小的顺序进行排序。

需要注意的是,sort() 函数会直接修改源列表,而不会返回一个新的排序后的列表。如果想要获取一个新的排序后的列表,可以使用 sorted() 函数。

示例代码如下:

```python

numbers = [5, 2, 8, 1, 9]

sorted_numbers = sorted(numbers)

print(sorted_numbers) # 输出 [1, 2, 5, 8, 9]

print(numbers) # 输出 [5, 2, 8, 1, 9]

```

在这个例子中,我们使用 sorted() 函数对列表进行排序,并将排序后的结果赋值给 sorted_numbers。原列表 numbers 的顺序并没有改变。

总结一下,sort() 函数是 Python 中用于对列表进行排序的内置函数。它可以按照升序或降序对列表中的元素进行排序。sort() 函数会直接修改源列表,而不会返回一个新的排序后的列表。如果想要获取一个新的排序后的列表,可以使用 sorted() 函数。此外,sort() 函数还可以接受一个 key 参数,用于指定排序的依据。


学习时间:

学习时间为不运动的时候,作者咕咕了是去运动(无氧运动和有氧运动都做最好)了,请饶恕。


学习产出:

画工

python--2作业66,69,71,84;85;数据类型:int()float()TrueFalsestr()list()set()dict()tuple()class 

python--1作业,注释、输入输出、运算符、运算结果、三目运算符、关系表达、多值交换、偶数、随机数、三目运算、if、elif、else、while、for、break、contince、pass                                                                                                   http://t.csdnimg.cn/0KDeU


  计算机网络第1章:计算机网络的概念、组成与功能;计算机网络的分类、标准化工作及相关组织

                                                                                                       http://t.csdnimg.cn/uZOAM

计算机网络第一章:性能指标:带宽、时延、时延带宽积、RTT、吞吐量、速率、信道利用率

                                                                                                                                                                                                                           http://t.csdnimg.cn/avNeb

计算机网络体系结构——PDU、SDU、PCI、协议、访问、接口、SAP

                                                                                                          http://t.csdnimg.cn/x3Uar

 计算机网络分层结构——OSI/ISO、TCP/IP                                                                                                                                                   http://t.csdnimg.cn/hLrqY

 1章选择                                                                                          http://t.csdnimg.cn/cnmdJ

2章选择、解答                                                                                http://t.csdnimg.cn/ONrER

   通信基本概念:数据、信号、码元、信源、信道、信宿、速率、波特、带宽                                                                                                        http://t.csdnimg.cn/TKnyM

 数据、信号、码元、信源、信道、信宿、速率、波特、带宽-通信基本概念

                                                                                                         http://t.csdnimg.cn/Kc2e3

HCIA——30奈奎斯特定理、香农定理                                              http://t.csdnimg.cn/Yqtch

HCIA——20应用层:C/S、P2P、peer                                                                                                                                                                                       http://t.csdnimg.cn/4i4Og

HCIA——21C/S、P2P、peer的选择     

                                                                                                                                                                                                                          http://t.csdnimg.cn/4a11f                                                                

 DNS层次域名空间、域名服务器、域名解析的原理                        http://t.csdnimg.cn/yeWd6

 HCIA——23DNS层次域名空间、域名服务器、域名解析的原理的选择、解答                                                                                                                              http://t.csdnimg.cn/RXPNV 

 HCIA——24FTP 的工作原理、功能、TFTP、控制连接、数据连接

                                                                                                                                                                                                                    http://t.csdnimg.cn/9TPlw

HCIA——25FTP 的工作原理、功能、TFTP、控制连接、数据连接的选择、解答 

                                                                                                    http://t.csdnimg.cn/8GkAU

HCIA——26E-mall、MIME、POP3、IMAP、电子邮件系统的组成结构、电子邮件的发送,接收过程、MIME 与SMTP 的关系                                                  http://t.csdnimg.cn/smTaR

HCIA——27E-mall、MIME;POP3、IMAP的选择,解答 http://t.csdnimg.cn/xnsXP

 HCIIA——28HTTP、万维网、HTML;万维网的工作过程;HTTP 的特点——无连接-TCP、无状态-Cookie、非持久连接-非流水线和流水线;HTTP 的报文结构                                                                                                      http://t.csdnimg.cn/cRcxY

  • 技术笔记 1遍
  • 有错误请指出,作者会及时改正

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/754628
推荐阅读
相关标签
  

闽ICP备14008679号