Python基础02-序列及通用操作

# 序列分类:可变序列List 不可变序列tuple str
# 判断值是否属于序列
lst=[1,2,3,4,5,6]
a,b,c=1,2.0,'hello'
print(a in lst)
print(b in lst)
print(c not in lst)
True
True
True
# 序列的链接与重复
#链接
lst1 =  [1,2,3]
lst2 = ['a','b']
print(lst2 + lst1) #有顺序

#重复
lst3=lst1*3
print(lst3)

lst4=lst2*2
print(lst4)
['a', 'b', 1, 2, 3]
[1, 2, 3, 1, 2, 3, 1, 2, 3]
['a', 'b', 'a', 'b']
# 下标索引
lst=[1,2,3,4,5,6,7,8]
print(lst)
print(lst[-1],lst[-3])
lst[4]='hello'
print(lst)
[1, 2, 3, 4, 5, 6, 7, 8]
8 6
[1, 2, 3, 4, 'hello', 6, 7, 8]
# 切片
print(lst[0:2]) #左闭右开
print(lst[2:5])
print(lst[:5]) #从头开始
print(lst[4:]) #到末尾
print(lst[1:-1])
[1, 2]
[3, 4, 'hello']
[1, 2, 3, 4, 'hello']
['hello', 6, 7, 8]
# 步长
lst='abcdefght'
print(lst)
print(lst[2:7:2])
print(lst[:6:3])
print(lst[1::2])
print(lst[::2])
abcdefght
ceg
ad
bdfh
acegt
# 序列的基本内置全局函数
lst=[1,2,3,4,5,6,7,8,9,0]
print(len(lst))
print(max(lst),min(lst),sum(lst)) # 函数
print(lst.index(9)) # 方法 9这个值的索引位置
lst=[1,1,2,3,3,4,5,6,6,6,6,6]
print(lst.count(6))
10
9 0 45
8
5
# 列表的特征
lst = [1,2,3,'abc',[1,2,3],[1,['name',2,3],2]]
print(lst[-1][1][0])
lst[0]='hello'
print(lst)
name
['hello', 2, 3, 'abc', [1, 2, 3], [1, ['name', 2, 3], 2]]
# 列表与生成器
a = range(10) # range()是生成器,指向了一个范围,0-9 都是整数
print(a,type(a))
range(2,5) # 代表指向了2,3,4这几个值
range(0,10,2) # 代表指向了0,2,4,6,8这几个值,最后的2代表步长

lst = list(range(5)) # 把生成器变为列表 [0,1,2,3,4]
print(lst,type(lst))
range(0, 10) <class 'range'>
[0, 1, 2, 3, 4] <class 'list'>
m = range(10)
print(m)
print(m[2],m[-1],m[5]) 
range(0, 10)
2 9 5
# 可变列表List常用操作 - 添加元素
lst = list(range(10))
print(lst + [1,2,3]) # 生成了一个新的列表,原来的lst不变

lst.append('a') # 改变了原来的lst
print(lst)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a']
# append 和 extend 的区别
a = [1,2,3]
b = [3,4,5]
a.append(b)
print(a)

a = [1,2,3]
a.extend(b)
print(a)
[1, 2, 3, [3, 4, 5]]
[1, 2, 3, 3, 4, 5]
# 可变列表List常用操作 -  删除元素
lst = list(range(10)) # 【函数】
print(lst)
lst.remove(5) # 移除5  【方法】
print(lst)

del lst[0] # 【语句】
print(lst)

del lst[2:4] # 删除切片
print(lst)

lst.clear() # 清除整个列表
print(lst)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 6, 7, 8, 9]
[1, 2, 3, 4, 6, 7, 8, 9]
[1, 2, 6, 7, 8, 9]
[]
# 可变列表List常用操作 -  插入元素
lst=[1,2,3,4,5,6]
lst.insert(4,'a') # 在第四个索引插入a
print(lst)
[1, 2, 3, 4, 'a', 5, 6]
# 可变列表List常用操作 -  复制
x = list(range(10))
# m = x       # 改变x时,m也被改变了
m = x.copy()  # 复制一个新的列表
print(x)
print(m)
x[2] = 101
print(x)
print(m) 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 101, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 可变列表List常用操作 -  排序
# .sort()方法
lst1 = [1,222,3,6,4,9]
lst2 = ['asd','sdfg','fzc']
lst1.sort()
lst2.sort()
print(lst1)
print(lst2)
lst1.sort(reverse=True) # 逆序
print(lst1)

# sorted()函数
lst3 = sorted(lst1) # 复制一个新的列表并排序
print(lst3)
[1, 3, 4, 6, 9, 222]
['asd', 'fzc', 'sdfg']
[222, 9, 6, 4, 3, 1]
[1, 3, 4, 6, 9, 222]
# 元组tuple:不可变的列表

tup1 = ('physics','chemistry',1997,2000)
tup2 = (1,2,3,4,5)
tup3 = "a","b","c","d"
tup4 = (50,) # 元组中只包含一个元素时,需要在元素后面添加逗号

print(tup1[2],tup3[:2]) # 索引、切片和list一样

del tup3 # 元组不能删除里面单个元素,只能删掉整个元组
# print(tup3) 会报错 NameError: name 'tup3' is not defined

# 元组不能做添加和排序
# 元组和list的互相转换 tuple(),list()
lst = [1,2,3,4,5]
tup = tuple(lst)
print(tup)
1997 ('a', 'b')
(1, 2, 3, 4, 5)
发布了48 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_37551036/article/details/102528874