python-List基础知识

基础的python中关于list的知识
#通过将索引指定为-1,可以返回List中的最后一个元素,以此类推,
#列表为空时,这种方式会发生错误
一。增删改
list_test = ['Alex','Shaw','Python']

	1.修改List元素
	list_test[0] = 'Linus'
	print(list_test)

	Output:['Linus','Shaw','Python']

	2.	添加元素
	(1) append():在末尾添加元素
		list_test.append('Python3')
	(2) insert():在任意位置插入元素
		#在索引0处添加空间,并插入新值,将表中所有元素右移一个位置
		list_test.insert(0,'Poison') 

	3.删除元素
	(1) 已知删除元素的索引
		del list_test[1]
	(2)	从列表中删除元素,但仍然可以继续访问
		#弹出List中的最后一个元素 
		poped_list_test = list_test.pop()	
		print(list_test)
		print(poped_list_test)

		Output:['Alex','Shaw','Python']
			   ['Alex','Shaw']
			   Python
		
		#弹出任意位置的元素
		poped_list_test = list_test.pop(1)
		print(list_test)
		print(poped_list_test)

		Output:['Alex','Shaw','Python']
			   ['Alex','Python']
			   Python

		#当要从列表中删除一个元素,且不再以任何方式访问它,使用del;
		#在删除后还能继续使用,使用pop()
		
	(3) 根据值删除元素
		list_test.remove('Shaw')
		remove()方法只删除第一个指定的值,如果在list中存在多个重复的需要删除的值,
	则需要使用循环来判断是否删除了所有的这样的值

二。排序
list_test = ['Alex','Shaw','Python']
	1.永久性排序
		sort():list中的元素按照字母顺序排序
		list_test.sort()
		print(list_test)

		Output:['Alex','Python','Shaw']

		list_test.sort(reverse = True) #换向排序,这里的True不能写成true
		print(list_test)

		Output:['Shaw','Python','Alex']
	2.临时性排序
		sorted():可以按照特定的顺序显示列表元素,但是不修改原始的排列顺序。
		也可以传入reverse = True
		
		print(sorted(list_test))
		print(list_test)	
		print(sorted(list_test),reverse=True)
		Output: ['Alex','Python','Shaw']
				['Alex','Shaw','Python']
			    ['Shaw','Python','Alex']
	3.反转排序
		reverse():只反转列表元素排列顺序,并不按照与字母顺序相反的顺序排列
	4.确定列表长度
		len():从1开始计数,有多少元素长度就是多少	
		len(list_test)
		#发生索引错误时,打印出列表或列表长度,确定问题所在。
		
三。操作列表
	1.遍历列表
		list_test  = ['Alex','Shaw','Poison','Python']
		#循环地从list_test中取出元素,放在变量people中,然后打印
		#对于用于存储列表中每个值的临时变量,可以指定任意名称。根据编码规则,
		#一般选择有意义能表现列表性质的变量名称
		for people in list_test:
			print(people)			   
		#for循环可以包含无数代码,但是没有缩进的代码都只执行一次,而不会重复执行。
		for people in list_test:
			print(people.title() + "you are a bad man.\n")		
	2.创建数值列表
		range(x,y):生成从x开始到y停止(不包含y)的数字
		range(x,y,z):z为步长(增长幅度)

		for item in range(1,5):
			print(item)
		Output:1
			   2
			   3
			   4  #不包含5

		#直接生成列表
		list_test = list(range(1,5))
		#指定range()的步长
		list_test = list(range(2,11,2))	 #生成2到10的偶数的列表

		
		#创建包含1到10的整数的平方的列表
		squres = [] #创建空表
		for item in range(1,11):
			squres.append(value ** 2)  
		print(squres)

		#列表解析
		#首先指定一个描述性的列表名,然后指定一个左方括号,并定义一个表达式,
		#用于生成要存储到列表中的值
		#然后编写for循环,用于给表达式提供值,并加上右方括号
		#只用列表解析来创建新的列表,并且保持简短。
		#如果列表解析超过了两行,就要开始考虑用for循环重写
		squres = [value ** 2 for value in range(1,11)]
		print(squres)

		#常用数字处理列表的Python函数
		min(list_test):找最小值
		max(list_test):找最大值
		sum(list_test):总和	
		
四。切片
	list_test  = ['Alex','Shaw','Poison','Python']
	1.创建:指定要使用的第一个元素和最后一个元素的索引。同range()函数一样,
			在到达指定的第二个索引前面的元素后停止。
		print(list_test[1:3]) #[1:3]即为切片,从索引为1开始,到索引2结束

		Output:['Shaw','Poison']
		#没有指定第一个索引,Python将自动从表头开始
		
		#让切片终止于表尾
		print(list_test[1:]) #从索引1开始,到表尾为止
		Output:['Shaw','Poison','Python']
		
		#从表尾开始切片也是同样的道理
		print(list_test[-3:])
		Output:['Shaw','Poison','Python']
	2.遍历:要遍历列表中的部分元素,在for循环中使用切片
		for people in list_test[:2]:    #只遍历前2个元素
			print(people.title())	
		Output:	Alex
				Shaw
	3.复制列表:创建一个包含整个列表的切片,方法是同时省略起始索引和
				终止索引([:])
		new_list_test = list_test[:]	
五。元组(tuple)
	不可变的列表称为元组。与list唯一不同是使用()而不是[]
	tuple_test = (1,4,2,5,6)
	print(tuple_test[1:4])

	tuple_test[0] = 7   #修改tuple_test的元素的值,报错
	tuple_test = (1,2,3,4,5)  #可以修改元组变量,相当于重新给元组赋值

猜你喜欢

转载自blog.csdn.net/wdnysjqr/article/details/80338387