python的list列表常见用法总结
""" 列表操作 """ """ 创建列表 有两种方式: 1.直接使用赋值运算符创建列表 2.使用list()函数,list函数用于将可迭代类型的数据转换成列表。 例如 range对象,字符串,元组等 """ # data=[1,2,3,4,5] stuple = (10, 32, 73, 24, 15, 66, 90, 67, 54) data = list(stuple) """ 访问列表元素 切片操作 """ print("输出列表的内容:", data) print("输出所以为1的元素:", data[1]) print("返回包含原列表中的所有元素的新列表:", data[::]) print("逆序输出列表元素:", data[::-1]) print("输出列表索引为奇数的元素:", data[::2]) print("输出列表索引为偶数的元素:", data[1::2]) print("指定切片开始和结束的索引:", data[1:4]) print("结束位置的值大于列表长度时,从列表尾部截断:", data[2:100]) print("开始位置的值大于列表长度时,返回空列表:", data[100:]) """ 遍历列表 有两种方式: 1.直接使用for循环实现 2.使用for循环和enumerate()函数实现 """ # 1.直接使用for循环实现 for item in data: print(item, end=" ") # 2.使用for循环和enumerate()函数实现。可以实现同时输出索引值和元素内容 for index, item in enumerate(data): print("索引为%d,元素为%d" % (index, item)) """ 添加操作 有四种实现方法: 1.用加号"+",将两个列表相连接 2.用append()方法,元素添加到列表的尾部 3.用insert()方法,向列表的指定位置添加元素,但执行效率也没有append()高 4.用extend()方法,将一个列表添加到另一个列表的后面 总结:append,insert,extent这三个方法都可以对列表的元素进行操作,没有返回值, 直接修改了原数据对象 而用"+"将两个列表相连接,需要创建新的列表对象,从而需要消耗额外的内存 """ # 1.用加号"+",将两个列表相连接 data1 = list(range(4)) data2 = ["a", "b", "c"] print("data1+data2=%s" % (data1 + data2)) # 2.用append()方法,元素添加到列表的尾部 data1.append("x") data1.append("y") print("data1:", data1) # 3.用insert()方法,向列表的指定位置添加元素 data1.insert(1, "小明") data1.insert(4, "小强") print("data1:", data1) # 4.用extend()方法,将一个列表添加到另一个列表的后面 data2.extend("w") print("data2:", data2) data2.extend(["o", "p", "q"]) print("data2:", data2) """ 修改元素 通过索引获取元素,然后再为其重新赋值 """ data4 = ["小汪", "小明", "小强", "旺财"] data4[2] = "小红" print("将索引为%d的元素修改为%s:" % (2, "小红"), data4) """ 对列表进行统计计算 1.获取指定元素出现的次数 2.获取指定元素首次出现的位置索引 3.统计数值列表的元素和 """ # 1.获取指定元素出现的次数 data5 = [12, 32, 34, 12, 43, 56, 32, 32] print("元素%d在列表中的重复次数为%d次。" % (12, data5.count(12))) print("元素%d在列表中的重复次数为%d次。" % (32, data5.count(32))) # 2.获取指定元素首次出现的位置索引 print("元素%d在列表中的第%d个位置。" % (32, data5.index(32) + 1)) # 3.统计数值列表的元素和,以切片的方式计算 print("整个列表的元素和:%d" % sum(data5)) print(data5[1:4]) print("从第一个位置到第四个位置的元素和:", sum(data5[1:4])) """ 对列表元素进行排序操作 1.使用列表对象的sort()方法实现,默认为升序排列 2.使用内置的sorted()函数实现 3.使用reverse()方法将列表逆序输出 """ # 1.使用列表对象的sort(key=None,reverse=False)方法实现,默认为升序排列,无返回值 # 注意:参数key表示比较键,例如key=str.lower,表示排序时不区分大小写 # reverse=False:表示按升序排列;reverse=True:表示按降序排列 data6 = [43, 67, 54, 78, 90, 21, 34] data6.sort() print("按照升序输出列表:", data6) data6.sort(reverse=True) print("按照降序输出列表:", data6) # 2.使用内置的sorted()函数实现,有返回值 print("使用内置函数sorted()按照升序输出列表:", sorted(data6)) print("使用内置函数sorted()按照降序输出列表:", sorted(data6, reverse=True)) # 3.使用reverse()方法将列表逆序输出,相当于从后往前输出元素,无返回值 data6.reverse() print("使用reverse()方法将列表逆序输出:", data6) """ 删除元素 有三种实现方式: 1.根据索引删除元素:del语句,pop()方法 2.根据元素值删除:remove()方法 3.clear()方法清空列表,但还保留列表的对象 4.删除整个列表:del语句 """ # 1.根据索引删除元素 del data4[1] print("删除索引为%d的元素:" % 1, data4) data4.pop(2) print("删除索引为%d的元素:" % 2, data4) # 2.根据元素值删除 data4.remove("小红") print("将元素为%s删除:" % "小红", data4) #3.clear()方法清空列表,但还保留列表的对象 data4.clear() print("执行清空列表后:",data4) # 4.删除整个列表 # del语句在实际开发中并不常用,因为Python自带的垃圾回收机制会自动销毁不用的列表. del data