Python基础知识 D3

1 可变字符串

Python中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,智能创建新的字符串对象。可以使用io.StringIO对象或array模块。import io,s=‘x’,sio=io.StringIO(s)

2. 序列

序列是一种数据存储方式,用来存储一系列的数据。序列中存储的是地址,不是值。在内存中,序列就是一块用来存放多个值的连续的内存空间。

常用的序列结构有:字符串、列表、元组、字典、集合

2.1 列表

列表:用于存储任意数目、任意类型的数据集合。a=[10,20,'abc',True]。

Python的列表大小可变,根据需要随时增加或缩小

2.1.1 列表的创建

基本语法[]创建、list()创建、range()创建整数列表(range([start,]end[,step]))、

推导式生成列表a=[x*2forxinrange(100)ifx%9==0]。

2.1.2 列表元素的增加和删除

append()(尾部)、+运算符操作(不是尾部,大量复制)、extend()(尾部,不创建新的对象)、乘法扩展(字符串、元祖也适用)、insert()、remove()、pop()、del()。最后4个在非尾部操作时会发生大量移动。

2.1.3 index()获得指定元素在列表中首次出现的索引、count()获得指定元素在列表中出现的次数、len()返回列表长度、成员资格判断(用count()>0 或者等于0)或者in、切片操作、

2.1.4 列表的遍历:for obj in listObj:

print(obj)

2.1.5 复制列表所有的元素到新列表对象:list2=[]+list1

2.1.6 列表排序:修改原列表,不建新列表的排序 sort() sort(reverse=true);建新列表的排序

2.1.7 reversed()返回迭代器

内置函数reversed()也支持进行逆序排列,与列表对象reverse()方法不同的是,内置函数reversed()不对原列表做任何修改,只是返回一个逆序排列的迭代器对象。

2.1.8 列表相关的其他内置函数汇总  max min sum

2.2 多维度列表

2.3 元组tuple

列表属于可变序列。元组属于不可变序列.

2.3.1 元组的创建

通过()创建元组。小括号可以省略。a=(10,20,30)或者a=10,20,30

2.3.2 通过tuple()创建元组 :tuple(可迭代的对象)

总结:tuple()可以接收列表、字符串、其他序列类型、迭代器等生成元组。list()可以接收元组、字符串、其他序列类型、迭代器等生成列表。

2.3.3 元组的元素访问和计数

*元组的元素不能修改

*元组的元素访问和列表一样,只不过返回的仍然是元组对象

*列表关于排序的方法list.sorted()是修改原列表对象,元组没有该方法。如果要对元组排序,只能使用内置函数sorted(tupleObj),并生成新的列表对象。

*zip(列表1,列表2,...)将多个列表对应位置的元素组合成为元组,并返回这个zip对象。

2.3.4 生成器推导式创建元组

>>>s=(x*2forxinrange(5))

>>>s

<generatorobject<genexpr>at0x0000000002BDEB48

>>>>tuple(s)

(0,2,4,6,8)

元组总结1.元组的核心特点是:不可变序列。2.元组的访问和处理速度比列表快。3.与整数和字符串一样,元组可以作为字典的键,列表则永远不能作为字典的键使用。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值