第二章 列表,元组和字符串

第二章 列表,元组和字符串

2.1 序列

在python中,数据结构分为有序和无序两种,其中有序的数据结构叫做序列。

常用的序列有三种:列表,元组和字符串。其中列表可以修改,而元组不可以修改。

可以包含其他对象的对象成为容器,列表和元组都是容器,而字符串不是。

2.2 序列操作

2.2.1 索引

通过元素编号来访问序列内容,成为索引。如

my_list = [‘father’, ‘mother’]
my_list[0]

2.2.2 切片

两个索引加上冒号可以范围访问元素

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
numbers[3:6]
[4, 5, 6]

0不能表示末尾,要表示末尾需要省略
numbers[-2:]

可以指定步长,步长不能为0,步长为负是从右到左(固定!)永远从起点开始,而不是从范围最右侧开始。

2.2.3 其他操作

相加:[1, 2, 3] + [4, 5, 6]
相乘:[1] * 5
检查值是否在序列中:in

2.3 列表

2.3.1 基本列表操作

赋值:x[1] = 1

删除:del x[1]
按位置删除,删除操作中间需要隔着一个空格,这样的操作并不多见

切片赋值:x[1:3] = ‘bj’
因此可以利用切片赋值进行批量插入和批量删除

2.3.2 方法

append:x.append(1)

clear: x.clear()

copy: b = a.copy()
复制可以指向不同的列表,否则指向同一个

count: x.count(1)
计算指定元素出现了多少次

extend: a.extend(b)
a列表末尾附加b列表,直接改变a列表

index: x.index(1)
只能查找该元素第一次出现的索引

insert: x.insert(3, ‘boy’)
直接在该位置插入元素,原位置的元素向后移动

pop: x.pop(0)
默认队尾,可以用0位置变成队首,唯一一个改变列表且有返回值的方法

remove: x.remove(1)
删除所有指定值

reverse: x.reverse()
倒排

sort: x.sort()
只能用于就地排序
赋值排序用 y = sorted(x), 其中x保持不变
高级排序x.sort(key = Len, reverse = True)

2.4 元组

元组就是不可变的列表,可以防止可能的错误修改,也可以用作映射的键

2.5 字符串

字符串同元组一样,也是不可变的。字符串也是序列,但不是容器,不能包含其他对象

2.5.1 基本格式

下面介绍三种字符串格式设置的方法

2.5.1.1 字符串格式运算符

字符串格式运算符——百分号类似于C语言中的printf
“%.2f” %(i)

2.5.1.2 字符串模版

from string import Template
tmpl = Template(’$boy, $girl,hello world’)
str = tmpl.substitute(boy=‘Mars’, girl=‘Lily’)

2.5.1.3 精简字符串方法format

字符串格式的方法是format是最新的方法

每个替换字段使用花括号,里面可以包含序号,名称,或者格式

命名字段:"{x: .2f}".format(x = i)
索引:"{0} {1} and {0}".format(“a”, “b”)

如果命名字段与变量名名字相同可以简写,这种情况下要在最前面加f(表示format)
简写:“f{i.2f}”

注:里面的类型转换有限制,例如整数可以转换成二进制或者十进制,但不能转换成字符串

2.5.2 完整字符串方法format

转换标志:
可以使用!后追加(s,r 和a)来进行str,repr和ascii转换
print("{name!s} {name!r} {name!a}".format(name=name))

类型转换:
b:二进制
d:十进制
f:定点数
s:字符串

2.5.2.1

2.N 知识点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值