前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hello Python 3

Hello Python 3

作者头像
keyle
发布2024-11-01 12:23:38
560
发布2024-11-01 12:23:38
举报
文章被收录于专栏:礼拜八不工作

继续之前的python教程,本篇关键字 列表,切片,Lambda。代码建议横屏观看,会有显示不全问题,暂时没找到什么好解决办法。

先复习下列表的用法

代码语言:javascript
复制
# 创建列表
empty_list = []
numbers = [1, 2, 3, 4, 5]
words = ['apple', 'banana', 'cherry']
mixed = [1, 'apple', True, 3.14]
# 访问列表元素
print(words[0])  # 输出 'apple'
print(numbers[2])  # 输出 3
# 修改列表元素
words[0] = 'orange'
print(words)  # 输出 ['orange', 'banana', 'cherry']
# 切片
print(numbers[1:4])  # 输出 [2, 3, 4]
print(words[:2])     # 输出 ['orange', 'banana']
print(numbers[::2])  # 输出 [1, 3, 5]
# 添加元素
words.append('grape')
print(words)  # 输出 ['orange', 'banana', 'cherry', 'grape']
numbers.insert(2, 10)
print(numbers)  # 输出 [1, 2, 10, 3, 4, 5]
# 删除元素
del words[0]
print(words)  # 输出 ['banana', 'cherry', 'grape']
numbers.remove(3)
print(numbers)  # 输出 [1, 2, 10, 4, 5]
- `len()` 函数可以返回列表中元素的个数。
- `max()` 和 `min()` 函数可以返回列表中的最大值和最小值。
- `index()` 方法可以查找某个元素在列表中第一次出现的位置。

切片

  • 基本语法: sublist = my_list[start:stop:step]
    • start:起始索引,表示切片开始的位置(包含该位置的元素)。
    • stop:结束索引,表示切片结束的位置(不包含该位置的元素)。
    • step:步长(可选),表示从起始索引到结束索引的步长,默认为 1。
  • 注意事项:
    • 如果省略 start,表示从列表开头开始。
    • 如果省略 stop,表示一直切片到列表末尾。
    • 如果 step 为负数,表示从列表末尾开始向前切片。
    • 使用负数索引时,注意负数索引的含义。

切片的使用(针对数值类型):

列表切片是一种用于获取列表中指定部分的灵活方法。它允许你从列表中选择一个连续的子序列,而不需要使用循环或其他迭代结构。

代码语言:javascript
复制
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 获取从索引 2 到索引 5(不包含)的子列表
sublist = my_list[2:5]
print(sublist)  # 输出 [3, 4, 5]
# 获取从索引 0 到索引 6(不包含),步长为 2 的子列表
sublist = my_list[0:6:2]
print(sublist)  # 输出 [1, 3, 5]
# 获取从索引 5 到列表末尾的子列表
sublist = my_list[5:]
print(sublist)  # 输出 [6, 7, 8, 9, 10]
# 获取从列表开头到索引 7(不包含)的子列表
sublist = my_list[:7]
print(sublist)  # 输出 [1, 2, 3, 4, 5, 6, 7]
# 使用负数索引
# 获取从倒数第三个元素到倒数第一个元素的子列表
sublist = my_list[-3:-1]
print(sublist)  # 输出 [8, 9]

切片的使用:(针对字符串类型):

列表切片不仅适用于列表,还适用于字符串。在 Python 中,字符串可以看作是字符列表,因此你可以使用相同的切片语法来对字符串进行切片操作。

代码语言:javascript
复制
my_string = "Hello, World!"
# 获取从索引 2 到索引 5(不包含)的子字符串
substring = my_string[2:5]
print(substring)  # 输出 "llo"
# 获取从索引 7 到字符串末尾的子字符串
substring = my_string[7:]
print(substring)  # 输出 "World!"
# 获取从字符串开头到索引 5(不包含)的子字符串
substring = my_string[:5]
print(substring)  # 输出 "Hello"
# 使用负数索引
# 获取从倒数第五个字符到倒数第一个字符的子字符串
substring = my_string[-5:-1]
print(substring)  # 输出 "orld"

比较常用的函数:

map() 函数:

功能: map() 函数接受一个函数和一个或多个可迭代对象作为输入,然后将这个函数应用于每个可迭代对象的对应元素,并返回一个包含所有函数应用结果的迭代器。

示例: 例如,你可以使用 map() 将一个列表中的每个元素都平方:

代码语言:javascript
复制
numbers = [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() 函数从一个列表中过滤出所有偶数:

代码语言:javascript
复制
numbers = [1, 2, 3, 4, 5]
even = list(filter(lambda x: x % 2 == 0, numbers))
print(even)  # 输出 [2, 4]

Lambda

  1. lambda 表达式: lambda 是 Python 中的一种匿名函数定义方式,可以用于创建简单的函数,通常用于定义一次性的、简单的函数。lambda 表达式的语法是:lambda arguments: expression
  2. lambda 函数的特点:
    • lambda 函数可以有任意数量的参数,但只能有一个表达式。
    • lambda 函数返回的是一个函数对象,可以将其赋值给一个变量,然后调用这个变量来执行函数。
    • lambda 函数通常用于作为其他函数的参数,例如在 map()filter()sorted() 等函数中使用。
代码语言:javascript
复制
# 使用 lambda 创建简单的函数
add = lambda x, y: x + y
print(add(3, 5))  # 输出 8
# lambda 函数作为其他函数的参数
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x ** 2, numbers))
print(squared)  # 输出 [1, 4, 9, 16, 25]
even = list(filter(lambda x: x % 2 == 0, numbers))
print(even)  # 输出 [2, 4]
# lambda 函数可以作为排序函数的 key 参数
words = ['banana', 'apple', 'cherry', 'orange']
sorted_words = sorted(words, key=lambda x: len(x))
print(sorted_words)  # 输出 ['apple', 'banana', 'cherry', 'orange']

最后一段代码演示使用了 `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'。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 礼拜八不工作 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 先复习下列表的用法
  • 切片
  • 切片的使用(针对数值类型):
  • 切片的使用:(针对字符串类型):
  • 比较常用的函数:
    • map() 函数:
      • filter() 函数:
      • Lambda
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档