本文共 2348 字,大约阅读时间需要 7 分钟。
'''列表的方法l.index() l.count() l.copy() l.insert() l.append() l.extend()l.pop() l.remove() l.clear() l.sort() l.reverse() '''l = [1, 2, 'h', [3, 4, 'H']]print(len(l))l1 = l.index('h', 2, len(l)) # index(列表里的内容,开始位置,结束为止),找到返回下标,没找到报错print(1, l1)l.remove(2) # remove(列表里的内容),有则删除,没有则报错print(l)l.clear() # 清空列表print(l)l = [1, 2, 'h', [3, 4, 'H']]print(l)n = l.pop(1) # pop(列表中的下标)删除指定下标位置元素,并给个返回值,如果不写则默认最后一位print(n)print(l)l.append('添加的元素') # append(任意类型)添加到列表最后,这个任意类型作为整体print(l)l.extend([1]) # extend(可迭代的类型)添加到列表最后(合并),可迭代的得把每个字符拆开print(l)l.extend({1: 2, 3: 4}) # extend添加字典时,添加的是字典的keyprint(l)l.insert(2, '我插入第二个位置') # insert(要插入的位置,要插入的元素(元素类型同append添加时)print(l)l.reverse() # reverse()翻转列表print(l)l2 = l.copy() # l2为深拷贝(复制粘贴同作用),l3为浅拷贝,修改l则会影响l3列表l3 = lprint(2, l2)print(3, l3)## del l## print(l) # 删除不会影响浅拷贝的l3l.clear() # 对列表l做清空处理,则l和l3会同时受到影响,但是作为深拷贝的l2不会受到影响print(4, l2)print(5, l)print(5, l3)l4 = [2, 3, 7, 1, 9]l4.sort(reverse=False) # sort(reverse = Ture/False)升序排列原列表,参数默认为Falseprint(l4) # 改变参数为True则会使列表从大到小排列l5 = [2, 3, 7, 1, 9]l6 = sorted(l5, reverse=False) # 同上sort()方法,不过这是内置的方法,并不会改变原列表print(6, l5) # sorted(列表,key,reverse = Ture/False)方法会返回一个新的列表print(7, l6)n = l2.count(1) # 由于l在前面已经被清空了,则对深拷贝的l2进行操作print(n) # count(列表里的类型),如果有,则返回这个值出现的次数,如果没有则返回0for i in l2: print(i, end=' ') # 遍历列表中的每个元素print()print(4, l2)e1 = enumerate(l2) # enumerate使列表变成有序列对的元组print(5, e1)l7 = list(e1)print(7, list(e1))print(8, l7)# for i, y in l7: # 拆分枚举元组中序号(下标)和字符串中对应的字符# print(i, end=' ')# print(y)for x, y in enumerate(l2): print(x) print(y)# list4 = [1, 2, 3, 'abc', 'bcd']## str4 = '_'.join(list4) # 混合类型有数值 不能实现 -- 方案:列表推导式## print(str4)# list5 = [i for i in list4]# print(list5)# enumerate()的深入理解l1 = [3, 1, 1, '添加的元素', [3, 4, 'H'], '我插入第二个位置', 'h', 1]print(l1)e1 = enumerate(l1)# l2 = list(e1) # !!!!!print(e1)print(enumerate(l1))# print(l2)print(list(e1)) # 执行l2 = list(e1)这句后,这里就会打印个空的列表,不执行这句话的时候正常打印print(list(enumerate(l1)))# 根据我的理解,e1是可变的,开始的l2 = list(e1)改变了e1本身的值,所以直接打印是ok的,再次在后面list()会在变上加变# 如果开始不执行l2 = list(e1),则e1没有被操作过,则后面list(e1)直接打印输出不会出问题
转载地址:http://whbsl.baihongyu.com/