基础的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) #可以修改元组变量,相当于重新给元组赋值