python学习—序列类型、列表、元组

序列类型

序列类型的数据:数据内部的元素是有顺序的(有下标)

序列类型的数据:字符串类型、列表类型、元组类型

1、可以通过下标取值

s = "python"
li = ["aaa", "bbb", "ccc"]
tu = (123, "222", "999")

# 从前往后数下标:从0开始
print(s[3])
print(li[1])
print(tu[2])


# 从后往前数下标:从-1开始
print(s[-3])
print(li[-2])
print(tu[-1])

 

 

 

2、可以进行切片操作:获取数据中的某一段

①用法一:[起始位置 :终止位置]  --------左闭右开

li = [11, 22, 33, 44, 55, 66, 77, 88]
res = li[0:4]
print(res)
print(li[2:5])

 

 用法二:[起始位置 :终止位置:步长]

li = [11, 22, 33, 44, 55, 66, 77, 88]

res = li[::2]

结果:

 

 反向切片

li = [11, 22, 33, 44, 55, 66, 77, 88]

res = li[2:-3]

结果:

 

 步长为-1:倒过来获取数列

li = [11, 22, 33, 44, 55, 66, 77, 88]

res = li[::-1]

 

 

 

 

 元组和列表

元组和列表里面可以存放任意类型的数据:字符串、布尔值、列表、数值

 

列表 

list类型,通过[]表示,列表里的元素可以是任何数据类型

['python' , True, 666,['python' , 'hello' , 666],(1,2,2) ]

li = [11, 22, 33, 44, 55, 66, 77, 88]

 ①len函数

print(len(li))--------3

print(len(“aa”))--------2

 

列表的常用方法

①增

1、append:往列表尾部添加元素

li = [11, 22, 33, 44]
li.append(111)
print(li)

结果:[11, 22, 33, 44, 111]

2、insert(位置下标,内容):指定位置添加元素

li = [11, 22, 33, 44]
li.insert(1,"aaa")
print(li)

结果:[11, 'aaa', 22, 33, 44]

3、extend:一次性添加多个元素(用列表或元组表示),往列表尾部添加

li = [11, 22, 33, 44]
li.extend([1,2,3])
print(li)

结果:[11, 22, 33, 44, 1, 2, 3]

 

②删

1、remove:删除指定元素(找到第一个,进行删除)

li = [2,6,4,5,6,11, 22, 33, 11,22,33]
li.remove(11)
print(li)

结果:[2, 6, 4, 5, 6, 22, 33, 11, 22, 33]

2、pop:通过下标删除指定元素,不写下标默认删除最后一个

li = [2,6,4,5,6,11, 22, 33, 11,22,33]
li.pop(2)
print(li)

结果:[2, 6, 5, 6, 11, 22, 33, 11, 22, 33]

3、clear:清空列表,删除列表中所有元素

li = [2,6,4,5,6,11, 22, 33, 11,22,33]
li.clear()
print(li)

结果:[]

 

③查

1、index():查找元素下标,找到第一个就返回

index(内容,下标起始位置,下标终止位置)(左闭右开)

li = [2,6,4,5,6,11, 22, 33, 11,22,33]
res = li.index(11)
print(res)

结果:5

li = [2,6,4,5,6,11, 22, 33, 11,22,33]
res = li.index(11,-3,-1)
print(res)

结果:8

2、count :查找列表中某个元素的个数

li = [2,6,4,5,6,11, 22, 33, 11,22,33]
res = li.count(11)
print(res)

结果:2

 

④改

通过下标修改值

li = [11, 22, 33]
li[1] = 999
print(li)

结果:[11, 999, 33]

 

⑤其他方法

1、sort:对列表排序(全是数值的情况下),默认从小到大排序,正序

li = [11, 22, 33, 1, 2, 3]
li.sort()
print(li)

结果:[1, 2, 3, 11, 22, 33]

从大到小:sort(reverse=True),倒序

li = [11, 22, 33, 1, 2, 3]
li.sort(reverse=True)
print(li)

结果:[33, 22, 11, 3, 2, 1]

*reverse():反向

li = [11, 22, 33, 1, 2, 3]
li.reverse()
print(li)

结果:[3, 2, 1, 33, 22, 11]

 

2、copy:复制(复制后的id地址也就是内存地址和原来的不一致,复制后的内容指向一份新的内存地址)

li = [11, 22, 33]
li2 = li
li2.append(111)
print(li)

li3 = [11, 22, 33]
li4 = li3.copy()
li4.append(111)
print(li3)

结果:

[11, 22, 33, 111]
[11, 22, 33]

 

 

元组

元组 tuple类型,元组是不可变类型,内部元素定义了之后就不能更改

('python' , True, 666,['python' , 'hello' , 666] )

元组只有查询方法:index、count

 

扩展:元组拆包(列表、字符串)

tu = (11, 22, 33)
a, b, c = tu
print(a, b, c)

结果:11 22 33

 

posted @ 2020-02-08 11:35  mkay  阅读(257)  评论(0编辑  收藏  举报