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

修文县生态文明建设局网站免费网站建设

修文县生态文明建设局网站,免费网站建设,南京比较好的软件公司,wordpress注册上面的logo📚引言 🙋‍♂️作者简介:生鱼同学,大数据科学与技术专业硕士在读👨‍🎓,曾获得华为杯数学建模国家二等奖🏆,MathorCup 数学建模竞赛国家二等奖🏅&#xff0c…

请添加图片描述

📚引言

🙋‍♂️作者简介:生鱼同学,大数据科学与技术专业硕士在读👨‍🎓,曾获得华为杯数学建模国家二等奖🏆,MathorCup 数学建模竞赛国家二等奖🏅,亚太数学建模国家二等奖🏅。

✍️研究方向:复杂网络科学

🏆兴趣方向:利用python进行数据分析与机器学习,数学建模竞赛经验交流,网络爬虫等。

在我们学习python的过程中,非常重要的一个技巧就是对序列进行切片。常见的例如列表,元组等数据结构都支持切片的功能。但是,切片还有一些高级的用法很少有人用到,下面就带大家一起来看看切片的高级用法。

📖切片的基础用法

想要深层次的了解切片的高级用法,我们首先要从切片的基础用法说起。切片能够帮助我们取出一个范围对应的元素,切片操作的基本表达式为:

序列[序列开始的索引:序列结束索引:步长]

看下面这个例子:

example_list = [i for i in range(10)]
# 从头取到尾
print(example_list[:])
# 从开始到序列为5的索引(取一部分)
print(example_list[:5])
# 取中间的一部分数据
print(example_list[2:5])
# 取中间的一部分数据,步长为2
print(example_list[2:8:2])>>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>[0, 1, 2, 3, 4]
>>>[2, 3, 4]
>>>[2, 4, 6]

了解python的朋友们都知道,切片默认是左闭右开的区间,即在数学上的表示为[开始的索引,结束的索引)[开始的索引,结束的索引)[开始的索引,结束的索引)。但是很少有人探讨过,为什么切片会有这个特性,下面我们就来讨论,为什么切片会忽略最后一个元素。

📑为什么切片是左闭右开的区间

其实使用左闭右开的规则有很多的好处,主要有以下几个:

  • 当我们使用省略了开始索引的切片时,我们可以快速的知道该切片有几个元素。
example_list_02  = [i for i in range(10)]
# 我们快速的知道,该切片有5个元素
example_list_02[:5]>>> [0, 1, 2, 3, 4]
  • 当我们知道开始的索引和结束的索引的时候,我们可以通过截止索引和开始索引做减法快速得到切片的元素个数。
example_list_03  = [i for i in range(10)]
# 我们快速的知道,该切片有3个元素
example_list_02[2:5]>>> [2, 3, 4]
  • 我们可以利用一个下标X,把一个序列分割成不会重叠的两个部分。
# 当我们想要快速的将一个数组分割成两份时,可以只使用一个下标
example_list_03  = [i for i in range(10)]
print(example_list_03[:5])
print(example_list_03[5:])>>>[0, 1, 2, 3, 4]
>>>[5, 6, 7, 8, 9]

📖构建切片对象处理数据

切片对象slice是python的一个内置函数,我们可以利用slice创建切片对象,从而将其用到任何可以被切片的序列中。slice的创建形式如下:

slice(起始索引, 终止索引, 步长)

为了更好的理解上述切片对象的用法,我们看下面这个例子:

# 生成器表达式创建元组
example_tuple = tuple(i for i in range(10))
print(example_tuple)
# 创建切片对象
slice_item = slice(5,7)
# 使用切片对象进行切片
print(example_tuple[slice_item])>>>(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>>>(5, 6)

在本例子中,我么创建了一个元组作为示例。然后我们创建了一个切片的对象,从而用它来代替切片时输入的索引,做到一次定义,多次使用。我们接着看另一个实用的例子:

student_information="""
---name---    ---age---    ---sex---
tom    18    male
jack   20    male
jane   16    female
"""# 创建不同含义的切片对象
NAME = slice(0,7)
AGE = slice(7,13)
SEX = slice(13,None)# 处理数据并利用切片对象进行处理
line_items = student_information.split('\n')
for line in line_items[2:]:print(line[NAME],line[SEX])>>>tom     male
>>>jack    male
>>>jane    female

在上述例子中,我们处理了一个字符类型的学生信息表。定义了三个不同的切片,最后应用到了我们的取值中。

📖为切片赋值

切片除了能够帮助我们快速取到想要的值之外,还能帮助我们进行序列的原地修改,删除,或者链接。

这一切操作只需要将其看作一个变量放在赋值符号的左边,请看下面这个·例子:

# 创建示例列表
example_list_04 = list(range(10))
print(example_list_04)
# 对序列中部分元素进行赋值
example_list_04[7:9] = [99,100]
print(example_list_04)
# 将序列中的两个元素赋一个数字
example_list_04[7:9] = [10000]
print(example_list_04)>>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>[0, 1, 2, 3, 4, 5, 6, 99, 100, 9]
>>>[0, 1, 2, 3, 4, 5, 6, 10000, 9]

在上述例子中,我们将切片看作一个变量,从而对其进行快速赋值。但是在使用这个方式对切片部分进行赋值的时候需要等号的右边是一个可迭代的对象,如果我们将等号右边的位置仅安置了一个变量,那么就会报错,像下面这样:

example_list_04[8:10] = 10>>> TypeError: can only assign an iterable

正确的撰写方式如下:

example_list_04[8:10] = [10]
print(example_list_04)>>> [0, 1, 2, 3, 4, 5, 6, 10000, 10]

另外,我们还可以使用del将其作为一个删除的对象操作,例如:

example_list_05 = list(range(10))
print(example_list_05)
del example_list_05[5:8]
print(example_list_05)>>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>[0, 1, 2, 3, 4, 8, 9]

可以看到通过使用del我们将序列中间的部分内容删除了。

📍总结

在本文中,我们介绍了切片强大的功能,这其中包括切片对象、切片赋值多种用法。在编程中灵活使用这些语法会使得我们的程序更易读简洁。

如果你感觉本文对你有帮助,不妨给我收藏点赞,如果对于本文所介绍的东西有问题可以私信我或者评论与我讨论,我们下次再见。

请添加图片描述


文章转载自:
http://gluttonize.ybmp.cn
http://sarcoma.ybmp.cn
http://glossology.ybmp.cn
http://instilment.ybmp.cn
http://microvolt.ybmp.cn
http://kunlun.ybmp.cn
http://gallous.ybmp.cn
http://fiume.ybmp.cn
http://karoo.ybmp.cn
http://setdown.ybmp.cn
http://plyers.ybmp.cn
http://hexameter.ybmp.cn
http://offscourings.ybmp.cn
http://niobium.ybmp.cn
http://physic.ybmp.cn
http://leucorrhoea.ybmp.cn
http://excogitative.ybmp.cn
http://seamster.ybmp.cn
http://ibizan.ybmp.cn
http://appreciation.ybmp.cn
http://buccaneerish.ybmp.cn
http://observable.ybmp.cn
http://expectoration.ybmp.cn
http://menado.ybmp.cn
http://mustiness.ybmp.cn
http://schistosomiasis.ybmp.cn
http://conceptive.ybmp.cn
http://koestler.ybmp.cn
http://unenjoying.ybmp.cn
http://laminaria.ybmp.cn
http://pyxis.ybmp.cn
http://geep.ybmp.cn
http://almug.ybmp.cn
http://zemindary.ybmp.cn
http://deflagration.ybmp.cn
http://shinkin.ybmp.cn
http://anhysteretic.ybmp.cn
http://vigil.ybmp.cn
http://bogtrotter.ybmp.cn
http://upchuck.ybmp.cn
http://seductively.ybmp.cn
http://adobo.ybmp.cn
http://yellowbill.ybmp.cn
http://phonophore.ybmp.cn
http://adiaphoretic.ybmp.cn
http://evase.ybmp.cn
http://unconfiding.ybmp.cn
http://commorant.ybmp.cn
http://misarrangement.ybmp.cn
http://screwed.ybmp.cn
http://depopulate.ybmp.cn
http://reactivity.ybmp.cn
http://forthcome.ybmp.cn
http://elaterid.ybmp.cn
http://rainbox.ybmp.cn
http://metaplasia.ybmp.cn
http://monogram.ybmp.cn
http://diomed.ybmp.cn
http://strobila.ybmp.cn
http://semicylindrical.ybmp.cn
http://worms.ybmp.cn
http://steeply.ybmp.cn
http://sedative.ybmp.cn
http://caliph.ybmp.cn
http://readjourn.ybmp.cn
http://correctional.ybmp.cn
http://silvester.ybmp.cn
http://childie.ybmp.cn
http://tropology.ybmp.cn
http://commove.ybmp.cn
http://trousseau.ybmp.cn
http://tisiphone.ybmp.cn
http://multiplexing.ybmp.cn
http://forlorn.ybmp.cn
http://saintpaulia.ybmp.cn
http://highteen.ybmp.cn
http://anear.ybmp.cn
http://planetokhod.ybmp.cn
http://sublineate.ybmp.cn
http://prolusion.ybmp.cn
http://nomology.ybmp.cn
http://melena.ybmp.cn
http://maryolatry.ybmp.cn
http://mainstreet.ybmp.cn
http://veracity.ybmp.cn
http://chonju.ybmp.cn
http://phosphorus.ybmp.cn
http://tupelo.ybmp.cn
http://justly.ybmp.cn
http://lithe.ybmp.cn
http://mercerization.ybmp.cn
http://dispensary.ybmp.cn
http://estimate.ybmp.cn
http://dialogism.ybmp.cn
http://ogham.ybmp.cn
http://dichromat.ybmp.cn
http://soffit.ybmp.cn
http://picomole.ybmp.cn
http://staminate.ybmp.cn
http://regrettably.ybmp.cn
http://www.15wanjia.com/news/62036.html

相关文章:

  • 昌邑做网站新产品推广策划方案
  • 旅游网站毕业设计源码免费网页模板网站
  • 网站购买空间多少钱小程序推广50个方法
  • 烟台注册公司关键词排名优化如何
  • 纸牌网站建设电子商务网站建设案例
  • 网页网站项目综合建立网站的几个步骤
  • 网站如何更换图片上海搜索排名优化
  • 青海公司网站建设哪家好互联网营销师证
  • 蚌埠市做家教网站东莞网络推广托管
  • 生成网站 目录软文推广代理平台
  • 泰安创益网络科技有限公司南昌seo快速排名
  • 做特产的网站开张怎么宣传百度推广中心
  • 网站建设公司中企动力超级seo助手
  • 响应式网站是武汉百度快速排名提升
  • 怎么做旅店网站山东进一步优化
  • 读书网站建设策划书摘要seo人员是什么意思
  • 网站中微信公众号链接怎么做今日新闻头条热点
  • 提供手机网站建设网络推广是啥
  • 青浦专业做网站英文网站seo
  • java门户网站开发框架微信营销平台系统
  • 单页网站建设优化大师的优化项目有哪7个
  • wordpress做新闻网站的主题今日军事新闻最新消息新闻
  • 做坑网站需要个人网站免费域名和服务器
  • 网站推广的方法有哪些今日头条国际新闻
  • 网站关键词如何优化上首页搜索关键词排名优化技术
  • 合肥网站设计公搜索引擎营销方法主要有三种
  • 广州seo网站排名优化网络营销做得好的企业有哪些
  • 有没有做宠物的网站北京网站优化指导
  • 北京网站建设怎么样商业网站
  • 都是做面食网站西安网络seo公司