当前位置: 首页 > news >正文

网站开发与设计实训报告武汉谷歌seo

网站开发与设计实训报告,武汉谷歌seo,检察门户网站建设方案,网站怎么做防360拦截哈喽大家好,我是咸鱼 今天来讲一个我在实现 python 列表切片时遇到的趣事 在正式开始之前,我们先来了解一下切片(slice) 切片操作是访问序列(列表、字符串…)中元素的另一种方法,它可以访问一…

哈喽大家好,我是咸鱼

今天来讲一个我在实现 python 列表切片时遇到的趣事

在正式开始之前,我们先来了解一下切片(slice)

切片操作是访问序列(列表、字符串…)中元素的另一种方法,它可以访问一定范围内的元素,通过切片操作,可以生成一个新的序列

语法如下

name[start : end : step]
  • start 是切片的起始索引值,当 start 是序列首位时可以省略
  • end 是切片结束索引值,当 end 是序列末位时可以省略
  • step 为步长,可以不提供,默认是1,不能为0,为负数时表示列表翻转

需要注意的是,切片操作遵循包头不包尾的原则,即从序列的第 start 位索引起,向右取到后 end-1 位元素为止,按 m 间隔过滤

下面举一些关于切片的例子

# 获取列表的前 n 个元素:
lst = [1, 2, 3, 4, 5, 6]
n = 3
result = lst[:n]
print(result)  # [1, 2, 3]# 获取列表的后 n 个元素:
lst = [1, 2, 3, 4, 5, 6]
n = 3
result = lst[-n:]
print(result)  # [4, 5, 6]# 获取列表中的偶数元素:
lst = [1, 2, 3, 4, 5, 6]
result = lst[1::2]
print(result)  # [2, 4, 6]# 获取列表中的奇数元素:
lst = [1, 2, 3, 4, 5, 6]
result = lst[::2]
print(result)  # [1, 3, 5]# 获取列表中的倒数第二个元素:
lst = [1, 2, 3, 4, 5, 6]
result = lst[-2:-1]
print(result)  # [5]# 获取列表中的最后两个元素:
lst = [1, 2, 3, 4, 5, 6]
result = lst[-2:]
print(result)  # [5, 6]

根据 GPT 的回答,Fortran 是最早支持切片语法的语言,历史上曾经有多种语言支持切片操作
在这里插入图片描述
上面这些语言虽然说都支持切片语法,但我觉得不够 python 那样的灵活简洁

  1. 简洁而直观的语法:

Python 的切片语法非常简洁和直观,使用起来非常方便。通过使用冒号(:)来指定起始位置、结束位置和步长,可以轻松地进行切片操作。

  1. 强大的切片功能:

Python 的切片语法不仅支持基本的切片操作,还可以使用负数索引和省略号(…)来处理更复杂的情况。这使得对列表、字符串、元组等序列类型的数据进行灵活的切片成为可能

再介绍完了切片之后,我们来进入正题,那天咸鱼在写一个关于列表切片操作的文档

现象

我们知道:根据单个索引进行取值时,如果索引越界,就会报错

list1 = [1,2,3]
print(list1[5])"""
报错信息如下:
Traceback (most recent call last):File "E:\PycharmProjects\projects\demo\草稿纸.py", line 2, in <module>print(list1[5])
IndexError: list index out of range
"""

但是当咸鱼不小心将切片结束索引值设置成了超过了列表长度的值的时候,发现居然没有报错

list1 = [1,2,3]
print(list1[1:5]) # 结果[2, 3]

是不是很有趣,Python 中的切片操作不会引发索引越界的错误

关于这个现象,官方文档里面是有介绍的

The slice of s from i to j is defined as the sequence of items with index k such that i <= k < j. If i or j is greater than len(s), use len(s).

If i is omitted or None, use 0. If j is omitted or None, use len(s). If i is greater than or equal to j, the slice is empty.

也就是说,对于序列 s :

  • 当初始索引值或者结束索引值大于序列长度时,就用长度值(len(s))作为索引值
  • 当初始索引值没写或者是 None 时,用 0 作为初始索引值
  • 当结束索引值没写或者是 None 时,用序列长度值(len(s))作为初始索引值
  • 当初始索引值大于等于结束索引值时,结果为空对象
my_list = [1, 2, 3, 4, 5]# 有效的切片范围
print(my_list[1:4])  # 输出: [2, 3, 4]# 超出索引范围的切片,会自动调整为有效的索引
print(my_list[1:10])  # 输出: [2, 3, 4, 5]# 负数索引也适用
print(my_list[-3:10])  # 输出: [3, 4, 5]

总结

Python 的切片语法设计得很安全,即使指定的切片索引超出了序列的长度,也不会引发索引越界错误。相反,它会自动调整切片范围,只返回有效的结果

当进行切片操作时,Python会根据切片的参数和可用的索引范围来确定切片的实际范围

虽然不知道龟哥为什么设计 Python 的切片语法要允许索引超出边界,而不是设计成抛出索引错误?

但是可以知道的是,这种设计使得切片操作更加灵活和方便,无需手动检查索引范围或引发索引越界异常

它允许我们在切片操作中不必担心边界情况,并且可以更加简洁地处理列表、字符串和其他序列类型的操作

http://www.khdw.cn/news/2992.html

相关文章:

  • 何苦做游戏网站广州seo黑帽培训
  • 做任务网站有哪些内容网站建设是什么工作
  • 优化的定义云seo
  • 建设网站 备案成都抖音seo
  • 怎样进行站点优化免费网站可以下载
  • 做衣服类网站策划书北京seo公司有哪些
  • 宁波画册设计石家庄seo管理
  • 深圳专业网站制作平台精准数据营销方案
  • 韶关做网站网络推广是做什么工作
  • 什么网站个人可以建设优化网站结构一般包括
  • wordpress腾讯云cdn配置教程网站整站优化推广方案
  • 个人网站设计论文摘要百度号码认证
  • 网站测试的目的和意义seo入门讲解
  • 营销网站开发渠道有哪些外贸网站大全
  • wordpress 中文 cms网站推广优化排名
  • 哪个省份做网站的多免费的网站软件
  • 网站建设流程包括b站推广2024mmm已更新
  • 水果 网站源码今日小说搜索风云榜
  • 网站建设的公司服务备案查询
  • 江苏免费关键词排名外包seo网络推广企业
  • 做网站用什么软件搜索引擎优化推广
  • 江苏两学一做网站公众号软文推广多少钱一篇
  • 手机价格网站建设电脑优化大师有用吗
  • 万维网的网站今日新闻大事件
  • 用电脑记事本做网站网络营销渠道建设方案
  • wordpress网站源代码搜索引擎网站排名
  • 如何用云指做自己的网站厦门seo网站推广
  • 做移动网站优化软件企业网站制作要求
  • 个人网站备案 费用查域名备案信息查询
  • 东阳哪里可以做网站谷歌搜索排名