Hello-Python-3
继续之前的python教程,本篇关键字 列表,切片,Lambda
先复习下列表的用法
1 | # 创建列表 |
切片
基本语法:
sublist = my_list[start:stop:step]
start
:起始索引,表示切片开始的位置(包含该位置的元素)。stop
:结束索引,表示切片结束的位置(不包含该位置的元素)。step
:步长(可选),表示从起始索引到结束索引的步长,默认为 1。
注意事项:
- 如果省略
start
,表示从列表开头开始。 - 如果省略
stop
,表示一直切片到列表末尾。 - 如果
step
为负数,表示从列表末尾开始向前切片。 - 使用负数索引时,注意负数索引的含义。
- 如果省略
切片的使用(针对数值类型):
列表切片是一种用于获取列表中指定部分的灵活方法。它允许你从列表中选择一个连续的子序列,而不需要使用循环或其他迭代结构。
1 | my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] |
切片的使用:(针对字符串类型):
列表切片不仅适用于列表,还适用于字符串。在 Python 中,字符串可以看作是字符列表,因此你可以使用相同的切片语法来对字符串进行切片操作。
1 | my_string = "Hello, World!" |
比较常用的函数:
map()
函数:
功能:
map()
函数接受一个函数和一个或多个可迭代对象作为输入,然后将这个函数应用于每个可迭代对象的对应元素,并返回一个包含所有函数应用结果的迭代器。示例:
例如,你可以使用map()
将一个列表中的每个元素都平方:1
2
3numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x ** 2, numbers))
print(squared) # 输出 [1, 4, 9, 16, 25]
filter()
函数:
功能:
filter()
函数接受一个函数和一个可迭代对象作为输入,然后对可迭代对象中的每个元素应用这个函数,只保留返回值为 True 的元素,并返回一个包含所有返回值为 True 的元素的迭代器。示例:
例如,你可以使用filter()
函数从一个列表中过滤出所有偶数:1
2
3numbers = [1, 2, 3, 4, 5]
even = list(filter(lambda x: x % 2 == 0, numbers))
print(even) # 输出 [2, 4]
lambda 的用法:
lambda 表达式:
lambda 是 Python 中的一种匿名函数定义方式,可以用于创建简单的函数,通常用于定义一次性的、简单的函数。lambda 表达式的语法是:lambda arguments: expression
。lambda 函数的特点:
- lambda 函数可以有任意数量的参数,但只能有一个表达式。
- lambda 函数返回的是一个函数对象,可以将其赋值给一个变量,然后调用这个变量来执行函数。
- lambda 函数通常用于作为其他函数的参数,例如在
map()
、filter()
、sorted()
等函数中使用。
1 | # 使用 lambda 创建简单的函数 |
最后一段代码演示使用了 sorted()
函数对列表 words
进行排序,并指定了一个 key
参数,该参数接受一个函数作为输入,用于生成排序的依据。在这个例子中,使用了一个匿名函数 lambda x: len(x)
作为 key
参数。
lambda x: len(x)
表示一个匿名函数,它接受一个参数x
,返回x
的长度(即字符串的长度)。sorted()
函数会根据列表中每个字符串的长度来进行排序,而不是直接按照字符串的字典顺序排序。
列表words
中的字符串分别是 ‘banana’, ‘apple’, ‘cherry’, ‘orange’,它们的长度分别是 6、5、6、6。根据字符串长度排序后,’apple’(长度为 5)会排在最前面,然后是 ‘banana’、’cherry’ 和 ‘orange’。
本文标题:Hello-Python-3
文章作者:Keyle
发布时间:2024-05-09
最后更新:2024-08-20
原始链接:https://vrast.cn/posts/63937/
版权声明:©Keyle's Blog. 本站采用署名-非商业性使用-相同方式共享 4.0 国际进行许可