Python的数据类型分为:
可变对象 :set、list、dict 分别为字符串类型、列表类型、字典类型
不可变对象:Number、Boolean、Tuple 、String 分别为 数字类型、布尔类型、元组类型、字符串类型
所谓可变就是可以对齐进行增删改查与序列的切片操作
1:可变数据类型的增删改查之set
1.1 set 新增数据为add():
a={1,2,3}
print(a)
a.add(4)
print(a)
输出结果为:
{1, 2, 3}
{1, 2, 3, 4}
1.2 set删除数据为remove() 与pop():
a={1,2,3}
print(a)
a.remove(1)
print(a)
a.pop()
print(a)
输出结果为:
{1, 2, 3}
{2, 3}
{3}
ps:其中remove方法删除的数具体的值,第一次将1删除掉了,pop删除的是末尾第一个
1.3 set修改数据为 update()
a = {1,2,3}
b = {4,5,6}
a.update(b)
print(a)
print(b)
输出结果为:
{1, 2, 3, 4, 5, 6}
{4, 5, 6}
2:可变数据类型的增删改查之list
2.1 list 的新增方法 为 add(),insert(),extend()
#默认在末尾进行添加
a.append(4)
print(a)
# 在第0个位置上插入5
a.insert(0,5)
print(a)
# 在a中添加一个列表 ps:p可以为任意可迭代对象
b =['a','b','c']
a.extend(b)
print(a)
输出结果为:
[1, 2, 3, 4]
[5, 1, 2, 3, 4]
[5, 1, 2, 3, 4, 'a', 'b', 'c']
2.1 list 的删除方法为 remove(),pop(),clear()
a = [1,2,3,4,5,6]
# 删除指定内容
a.remove(1)
print(a)
# 方法里若填写参数 便按照下标删除,没有参数则删除最后一个
a.pop(2)
print(a)
a.pop()
print(a)
# 清空列表
a.clear()
print(a)
输出结果为:
[2, 3, 4, 5, 6]
[2, 3, 5, 6]
[2, 3, 5]
[]
2.3 列表的查询与修改
a = [1,2,3,4,5,6]
print(a[0])
a[0]=5
print(a[0])
输出结果为:
1
5
3:可变数据类型的增删改查之dict
2.1 字典的新增
# pyhton 字典的值可以是任意对象,键必须是不可变对象 并且
a = {'a':1,2:'c',True:3,1:{1:2},(2):3}
print(a)
# 字典的新增
a['b'] = 'value'
print(a['b'])
输出结果为:
{'a': 1, 2: 3, True: {1: 2}}
value
2.2 字典的修改
# 字典的修改
a['a'] = '12'
print(a['a'])
输出结果为:
12
2.3 字典的删除
# 字典的删除
a.pop('a')
print(a)
# 字典清空全部数据
a.clear()
print(a)
输出结果为:
{2: 3, True: {1: 2}}
{}
4:序列的切片
只要可以通过下标来进行查找的对象就可以进行切片,目前python中可以通过下标查找的数据类型有 String、Tuple、List 三种数据类型,三种数据类型切片规则和方式是一样的,另外切片是有返回值的,所以切片完不会对原数据进行修改,需要用参数接收也可直接打印
4.1 字符串切片
a = '123456789'
# 下标从0开始 从0到2 不算终止值 即a的第0位与第1位 ,a[0:2]即 12
print(a[0:2])
# 下标从0开始 到3 不算终止值,第三个参数是步长意思是隔着一位再取,步长不写默认为1, a[0:3:2]即 13
print(a[0:3:2])
# 也可倒叙取值最后一位为-1 a[-1] 即 9
print(a[::-1])
# 当步长为负数时便倒叙取 a[-5,-1:-1] 即 9876
print(a[-1:-5:-1])
# 若[:-1] 意为终止值为-1,若[-1:] 意为起始值为-1,若[::-1]意为步长为-1取全部数据
print(a[:-1])
print(a[-1:])
print(a[::-1])
输出结果为:
12
13
987654321
9876
12345678
9
987654321