Python Learning(四)-序列1

一 列表(list)

列表是Python中的一个对象
对象(Object)就是内存中专门用来存储数据的一块区域
数值,它只能保存一个单一的数据
列表中可以保存多个有序的数据

列表的使用:
	1.列表的创建
	my_list=[] 创建了一个空列表
	print(my_list,type(my_list))

	列表中存储的数据,我们称之为元素
	一个列表中可以存储多个元素,也可以在创建列表时指定列表中的元素
	my_list=[10,20,30,40,50] 创建一个只包含五个元素的列表

	当向我们当中添加多个元素时,多个元素之间使用逗号隔开


	列表是用来存储对象的对象

	列表可以保存任意的对象
	my_list=[10,'hello',None,True,[1,2,3]]

	2.列表中数据的操作
	列表中的对象都会按照插入的顺序存储到列表中

	我们可以通过索引index获取列表中的元素
	my_list=[10,'hello',None,True,[1,2,3]]
	print(my_list[4][0])

	len()可以获取列表的长度
	print(len(my_list))

	3.切片(相当于java中的子数组)
	切片指从现有列表中,创建一个子列表
	语法1:列表[起始:结束]
	通过切片获取元素时候,会包括起始位置的元素,不会包括结束位置的元素,切片不会影响原列表
	如果不写结束位置则会截取到最后一个元素
	如果不写开始位置则会从第一个元素开始截取
	如果全部不写相当于创建了一个列表的副本.

	my_list=[1,2,3,4,5]
	my_list[1:4]=[2,3,4]
	my_list[:4]=[1, 2, 3, 4]
	my_list[1:]=[2, 3, 4, 5]

	语法2:列表[起始:结束:步长] 步长默认是1 就是隔几个取一次
	步长可以是负数,不能是0

	如果是负数,则会从列表的后面往前面取

	my_list=[1,2,3,4,5]
	print(my_list[1:4:2])=[2, 4]
	print(my_list[::-2])=[5, 3, 1]

	注意是:前闭后开




	Python中列表的索引可以是负数,如果是负数则从后往前获取元素
	my_list=[1,2,3,4]
	my_list[-1]=4

二 通用操作

+ * 像字符串的操作一样
my_list=[1,2,3]+[4,5,6]
my_list=[1,2,3]*3

in 和not in 返回结果为True OR False
in用来检查元素是否存储在列表中 在 True 不在 False
in用来检查元素是否不存储在列表中 不在True 在 False
print(1 in my_list) True

min() 和 max() 获取列表中的最小最大值
print(max(my_list))

index()和count() 俩个method
方法和函数基本上是一样的,但是方法必须通过对象来调用
s.index()
s.count()
s=sequence

获取该元素在列表中的第一次索引位置
my_list.index(1)=0

如果在列表中有多个重复的元素
index的第二个参数表示从第几个位置开始寻找,第三个参数表示结束位置,在哪个索引和哪个索引之间
查找

my_list=[1,2,1,3,4,5,'11']
print(my_list.index(1,2))=2

count()
print(my_list.count(1))=2
统计1在列表中出现的次数

三 序列(sequence)

序列是Python中最基本的一种数据结构
数据结构是指计算机中数据存储的方式
序列用于保存一组有序的数据,所有的数据在序列中都有一个唯一的位置(索引)
	并且序列中的数据会按照添加的顺序来分配索引

序列分为俩大类
	可变序列:
		列表(list)
	不可变序列(序列中的元素不能改变)
		字符串(str)
		元组(tuple)
也就是说以上二里面的通用操作适合所有序列
eg:my_list='123'
print(my_list.index('123'))=0


1. 修改列表中的元素
 	-直接通过索引修改
 	my_list=[1,2,3,4]
	my_list[0]=2
	print(my_list)=[2, 2, 3, 4]

	-通过del来删除元素 
	del my_list[2] 参数:索引下标
	my_list=[1,2,3,4]
	my_list[0]=2
	print(my_list)
	del my_list[2]
	print(my_list)=[2, 2, 4]

	-通过切片来修改列表(再给切片赋值的时候,只能使用序列即包含 列表/字符串/元组等)

	my_list=[1,2,3,4]
	my_list[0:2]='12345'
	print(my_list)
	# ['1', '2', '3', '4', '5', 3, 4]

	my_list=[1,2,3,4]
	my_list[0:0]=[18] --这个表示的含义是向索引为0位置插入元素
	print(my_list)
	# [18, 1, 2, 3, 4]

	当设置了步长时,序列中的元素的个数必须和切片中的元素的个数一致
	my_list=[1,2,3,4]
	my_list[::2]=[5,6,7]
	print(my_list
	# ValueError: attempt to assign sequence of size 3 to extended slice of size 2
	这个时候他会显示按照2步的步长你需要给一个2个长度的切片
	my_list=[1,2,3,4]
	my_list[::2]=[5,6]
	print(my_list)
	# [5, 2, 6, 4]	

	通过切片来删除元素
	del my_list[0:2]
	del my_list[::2]
	my_list[1:3]=[]

	以上操作仅适用于可变序列,如果不可变序列要修改,需要将其转换为list
	s='hello'
	s=list(s)
	s[0]='s'
	print(s)
	# ['s', 'e', 'l', 'l', 'o']

2. 通过方法来修改序列

	append() 像列表的最后添加一个元素

	my_list=[1,2,3,4]
	my_list.append(5)
	print(my_list)
	# [1, 2, 3, 4, 5]

	insert() 像列表的指定位置添加元素
	参数 :1.要插入的位置
		 2.要插入的元素
	my_list=[1,2,3,4]
	my_list.insert(2,5)
	print(my_list)
	# [1, 2, 5, 3, 4]

	extend() 使用新的序列扩展当前序列
	参数:序列
	会将该序列中的元素添加到当前的列表中 就是多个元素的append

	my_list=[1,2,3,4]
	my_list.extend([5,6])
	print(my_list)
	# [1, 2, 3, 4, 5, 6]

	clear()清空序列
	my_list.clear()

	pop()
	根据索引删除并返回指定元素
	参数:索引位置,如果不写参数则默认删除最后一个元素

	my_list=[1,2,3,4]
	result=my_list.pop(2)
	print(result)
	# 3

	my_list=[1,2,3,4]
	result=my_list.pop()
	print(result)
	# 4

	remove() 根据值去删除元素,如果有多个重复的值会删除第一个值
	
	my_list=[1,2,3,4]
	my_list.remove(3)
	print(my_list)
	# [1, 2, 4]

	reverse()用来反转列表
	my_list.reverse()
	my_list=[1,2,3,4]
	my_list.reverse()
	print(my_list)
	# [4, 3, 2, 1]

	sort()默认升序 降序的话 sort(reverse=True) 直接sort+reverse好像不行
	my_list=['b','d','c','a']
	my_list.sort()
	print(my_list)	
    # ['a', 'b', 'c', 'd']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值