python切片的对象_Python 对象切片
对对象进行切片
s[a:b:c] 的形式对 s 在 a 和 b 之间以 c 为间隔取值。 c 的值还可以为负, 负值意味着反向取值。
>>> s = 'bicycle'
>>> s[::3]
'bye'
>>> s[::-1]
'elcycib'
>>> s[::-2]
'eccb'
前面取出卡牌中所有 'A'
>>> deck[12::13]
[Card(rank='A', suit='spades'), Card(rank='A', suit='diamonds'),
Card(rank='A', suit='clubs'), Card(rank='A', suit='hearts')]
对 seq[start:stop:step] 进行求值的时候, Python 实际会调用 seq.__getitem__(slice(start, stop, step))。用 [] 中来返回一个切片对象。
纯格式化文本的切片:
# a:b:c 这种用法只能作为索引或者下标用在 [] 中来返回一个切片对象:
# slice(a, b, c)。
# 对seq[start:stop:step] 进行求值的时候, Python 会调用
# seq.__getitem__(slice(start, stop, step))。
# 使用切片对象
invoice = """
0.....6................................40........52...55........
1909 Pimoroni PiBrella $17.50 3 $52.50
1489 6mm Tactile Switch x20 $4.95 2 $9.90
1510 Panavise Jr. - PV-201 $28.00 1 $28.00
1601 PiTFT Mini Kit 320x240 $34.95 1 $34.95
"""
SKU = slice(0, 6)
DESCRIPTION=slice(6,40)
UNIT_PRICE=slice(40,52)
QUANTITY=slice(52,55)
ITEM_TOTAL=slice(55,None)
line_items=invoice.split('\n')[2:]
for item in line_items:
print(item[UNIT_PRICE],item[DESCRIPTION])
切片赋值
l=list(range(10))
print(l) # [0,1,2,3,4,5,6,7,8,9]
print(l[2:5]) # [2,3,4]
l[2:5]=[11,12,13]
print(l) # [0,1,11,12,13,5,6,7,8,9]
del l[2:5]
print(l) # [0,1,5,6,7,8,9]
print(l[3::2]) # [6,8]
l[3::2]=[100,99]
print(l) # [0,1,5,100,7,99,9]
# l[3::2]=88 TypeError: must assign iterable to extended slice
# l[3::2]=[88] #ValueError: attempt to assign sequence of size 1 to extended slice of size 2
# 如果赋值的对象是一个切片, 那么赋值语句的右侧必须是个可迭代
# 对象。 即便只有单独一个值, 也要把它转换成可迭代的序列。
l[0]=123
l[3:]=[88] # [88]可替换连续多个值
print(l)
l[1:]=[] # 保留第一个元素,删除其余元素
print(l)
python切片的对象_Python 对象切片相关推荐
- python属性访问顺序_Python 对象属性的访问
在 Python 中,一切皆对象.属性访问可以理解为是从一个已有的对象中获得另一个对象的方法.对象属性的访问涉及到对象的 __dict__ 属性.描述符等概念,以及 __getattribute__. ...
- python基本对象_python对象之对象基础1
所有的 Python 对像都拥有三个特性:身份,类型和值. 身份: 每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数 id()来得到. 这个值可以被认为是该对象的内存地址.您极少会 ...
- python布尔类型运算_Python对象类型及其运算方法(详解)
基本要点: 程序中储存的所有数据都是对象(可变对象:值可以修改 不可变对象:值不可修改) 每个对象都有一个身份.一个类型.一个值 例: >>> a1 = 'abc' >> ...
- python切片操作例题_Python之切片操作
假设list的长度(元素个数)是length, start_index和stop_index在符合虚拟的逻辑位置关系时, start_index和stop_index的绝对值是可以大于length的. ...
- python切片是什么_python列表切片是什么
我们基本上都知道Python的序列对象都是可以用索引号来引用的元素的,索引号可以是正数由0开始从左向右,也可以是负数由-1开始从右向左. 在Python中对于具有序列结构的数据来说都可以使用切片操作, ...
- python中字典的value可以为任意对象_Python对象作为字典值
所以我有以下代码,其中字典的值是一个对象,该对象的关键是对象中的一个项目: class MyObject(): def getName(self): return self.name def getV ...
- python对象点方法_python对象方法、类方法、静态方法
1.我们已经讨论了类/对象可以拥有像函数一样的方法,这些对象方法与函数的区别只是一个额外的self变量 # -*- coding:utf-8 -*- #!/usr/bin/python # Filen ...
- python属性使用教程_Python对象的属性访问过程详解
只想回答一个问题: 当编译器要读取obj.field时, 发生了什么? 看似简单的属性访问, 其过程还蛮曲折的. 总共有以下几个step: 1. 如果obj 本身(一个instance )有这个属性, ...
- python运算符的分类_python对象——标准类型运算符
对象值的比较 比较运算符用来判断同类型对象是否相等,所有的内建类型均支持比较运算,比较运算返回布尔值 True 或 False. 注意,实际进行的比较运算因类型而异.换言之,数字类型根据数值的大小和符 ...
最新文章
- mysql 优化器算法_SQL 查询优化器底层原理解析【MySQL 篇】
- linux命令:groupdel
- 群晖备份linux分区,数据丢失的后悔药,群晖NAS备份方案详解
- java基础——static 关键字小节
- 克服浮躁_建立强大的全球社区时克服挑战
- python操作sqlite数据库_Python操作Sqlite正确实现方法解析
- mate10鸿蒙系统,华为将发布 MatePad Pro:搭载鸿蒙系统,麒麟 9000 处理器
- ssh-copy-id命令的介绍,使免密更方便
- 二阶声波正演c语言程序_问:程序员怎么敲代码才不累?答:装上显示器支架之后...
- 【GlobalMapper精品教程】001:GlobalMapper23 Pro-x64中文安装教程(附软件包下载)
- 网页点击链接,跳转qq添加好友
- 机器学习(埋坑)—— 概念学习(Concept Learning)
- 学习记录657@python计算股价的回撤与收盘价回撤率组合图实现
- 做股权激励时,要不要进行绩效考核
- HTML女朋友生日祝福、老婆生日快乐源代码,可定制照片+音乐+表白话
- 2021-10-20-Flask-01- 基本运行框架及配置文件
- 一篇教会你,Redis主从、哨兵、 Cluster集群。
- Linux banner/konsole
- 3|射频识别技术|第一讲:射频识别技术概述|完整内容
- [4G+5G专题-141]: 终端 - 测试仪表详解
热门文章
- win10设置禁止系统更新
- html页面锁屏,锁屏页面.html
- linux disk 清除数据,如何在Linux中使用TestDisk恢复已删除的文件
- 11.1金山游戏开发笔试
- 鸿蒙应用runtime,鸿蒙OS初探
- CodeFirst的EF6迁移和时间戳错误
- Python 3.7 已上架 Microsoft Store,让你在 Windows 轻松使用 Python
- python 英语翻译 excel_翻译篇Day2-用python读写Excel–数据图表篇
- python 运维管理架构_企业运维监控平台架构设计与实现(ganglia篇)
- iphone储存空间系统怎么清理_系统项占用了 iPhone 过多的储存空间怎么办?