Python 序列(list,tuple,range)

Python 序列(list,tuple,range)

 

list

class list([iterable])

构造方法

  • 使用一对方括号表示空列表:[]
  • 使用方括号,用逗号分隔项目[a], [a, b, c]
  • 使用列表推导式: [x for x in iterable]
  • 使用类型构造函数:list()或list(iterable)

对象方法

Python容器

tuple

构造方法

class tuple([iterable])

  • 使用一对括号表示空元组:()
  • 对单个元组使用尾随逗号:a,或(a,)
  • 以逗号分隔项目:a, b, c or (a, b, c)
  • 使用tuple()内建:tuple()或tuple(iterable)

对象方法

Python容器

range

class range(start, stop[, step])

序列通用操作

操作结果
x in sTrue如果s的项目等于x,则False
x not in sFalse如果s的项目等于x,否则True
s + ts和t的并置
s * n or n * s相当于将s添加到自身n次
s[i]i项目s,来源0
s[i:j]从i到j的s
s[i:j:k]slice of s from i to j with step k
len(s)长度s
min(s)s的最小项
max(s)s的最大项目
s.index(x [, i [, j]])在s中(在索引i之后或索引j之前)的x
s.count(x)s中x的总出现次数

解包方式

>>> t = (1, 2, 3, 4)
>>> first, *middle, last = t
>>> middle
[2, 3]
>>> _, *rest = t
>>> rest
[2, 3, 4]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

可变序列操作

操作结果
s [i] = xx替换s的项目i
s [i:j] = t从可迭代的t的内容替换从i到j的s
del s [i:j]与s [i:j] = []
s [i:j:k] = ts[i:j:k]的元素被t取代
del s [i:j:k]从列表中删除s[i:j:k]的元素
s.append(x)将x追加到序列的末尾(与s [len(s):len(s)] = [x])
s.clear()从s中删除所有项目(与del s [:]相同)
s.copy()创建s的浅拷贝(与s[:]相同)
s.extend(t)或s + = t使用t的内容延伸s(大部分与s [len(s):len(s)] t3 > = t)
s * = n更新s,其内容重复n次
s.insert(i, x)在由i给出的索引处插入x到s(与s [i:i] = [x])
s.pop([i])在i检索项目,并从s中删除它
s.remove(x)从s中移除第一个项目s [i] == x
s.reverse()反转s的项目

切片

  •  
list[start:stop:step]
s = slice(start,stop,step)
list[s]

列表推导式

[i for i in iterable if condition]
  • 1

索引迭代
enumerate()可以把一个list变成索引-元素对。

for i, value in enumerate(['A', 'B', 'C']):print(i, value) 
  • 1

zip
zip()可以将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,并返回一个迭代器,常用于同时遍历两个可迭代对象。

>>> li1 = ['Python' ,'JavaScript', 'Java']
>>> li2 = [1, 2, 3]
>>> nl = zip(li1, li2)
[('Python', 1), ('JavaScript', 2), ('Java', 3)]
  • 1
  • 2
  • 3
  • 4

配合dict可以生成字典

>>> l1 = ['A', 'B', 'C']
>>> l2 = [1, 2, 3]
>>> dict(zip(l1, l2))
{'A': 1, 'B': 2, 'C': 3}
  • 1
  • 2
  • 3
  • 4

列表合并
除了用extend方法还可以用

>>> l1 = [1, 2]
>>> l2 = [3, 4]
>>> l3 = [*l1, *l2]
>>> l4 = sum([l1, l2],[]) # 利用了sum的特性
>>> l5 = li+li # 字典+法的重载
  • 1
  • 2
  • 3
  • 4
  • 5

列表值的判定

a=[1,2]
a==1,2  # 返回一个元组,元组的第二个值是第二个值,这个在numpy中可以应用
>>> (False, 2)
  • 1
  • 2
  • 3

多层列表嵌套
https://blog.csdn.net/XX_123_1_RJ/article/details/80591107

常见序列

名称类型
tuple不可变
list可变
range不可变
str不可变
Bytes不可变

注意range/str/Bytes都是序列类型的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值