list列表、tuple元组、range常用方法总结
list 列表(数组),是可迭代对象,列表是可变的所以列表的方法都是在列表本身更改的。里面看可以放各种数据类型的数据,可存储大量数据 连接列表可以使用 + 或 extend()
a = [1, 3, 2] b = [3, 4, 5] print(a+b) print(a.extend(b))
列表的增: # append() 可追加各种类型数据,只有一个参数追加数据到列表末尾 # insert() 按照指定下角标位置插入,比如插入位置是1,列表原来的数据就会集体后移,效率低 # extend() 迭代增加,注意增加字典只会增加key值
lst = ['hello', 'kitty', 123, 'qqq'] lst.append('wangxd') 输出:['hello', 'kitty', 123, 'qqq', 'wangxd'] lst.insert(1, 'gogogo') 输出:['hello', 'gogogo', 'kitty', 123, 'qqq'] lst.extend({'a': 1, 'b': '2','c': 3}) 输出: ['hello', 'kitty', 123, 'qqq', 'a', 'b', 'c'] #增加字典只会增加key值 lst.extend(['aa', 'bb', 'cc']) 输出:['hello', 'kitty', 123, 'qqq', 'aa', 'bb', 'cc'] lst.extend('qweasd') 输出:['hello', 'kitty', 123, 'qqq', 'q', 'w', 'e', 'a', 's', 'd'] print(lst)
列表删除: #pop() list.pop(1) 唯一的一个有返回值的可以print(list.pop(1) ) 。按索引、下标删 #remove() list.remove('hello') 无返回值,按元素去删 #clear() list.clear() 清空列表,列表还在内存,没删原列表 #del() del list 在内存中删除列表,按索引删除del list[1] print(list) 可切片删除del list[:3]
lst = ['hello', 'kitty', 123, 'qqq'] data = lst.pop(1) #按下标删除 返回删除的内容,可以不接收返回值,原列表更改 lst.remove('hello') #按元素删除 del lst[1:3] #切片删 lst.clear() #全部删除
列表改 按照索引改 切片改 #list[2] = 'hello' 把下表2的改为hello #list[:3] = 'abc' 1先将切片区域元素删除,2按最小元素添加,将添加内容全部增加进去(删除俩个插入三个元素),类似extend。
lst = ['王者', '魔兽', 'dnf', '逆水寒', 'cs'] lst[0] = '少雷' lst[3] = '吃鸡' lst[1:3] = 'hah' #会迭代 更改 ['王者', 'h', 'a', 'h', '逆水寒', 'cs'] lst[1:3] = ['跑跑'] #更改先删除remove() 后添加 extend() lst[1::2] = ['qq华夏', 'qq仙侠传'] #切片修改的时候 步长不是1 注意元素个数否则会报错 ,(相邻的相当于一个元素位) print(lst)
列表查 1、按索引查 list[3] 2、按切片查 list[:] 3、for循环查 list[]
lst = ['1', '2', 3, 4] for el in lst: print(el) for i in range(len(lst)): print(lst[i])
排序 #index list.index('hello') 返回'hello'在列表中下角标的位置。 #sort list.sort() 从小到大排序,没有返回值 直接更改list列表 #sort(reverse=True) 从大到小排序,列表中必须是相同类型,数字和字符串都可排序 #reverse list.reverse() 倒叙,将原列表内容倒置,在原列表中改,无返回值
lst = [7, 4, 6, 3, 4] lst.sort() #正序 lst.sort(reverse=True) #倒序
列表的嵌套 list = [1, 2, 'hello' , 'kitty', ['oldboy',['66', 'qwe', ['333', 'jjjj']]],] list[4][1][2][1] ==>取到'jjjj' tuple 元组转列表直接-->list()类型转换即可 元组是可迭代的,可接受任何元素,无增删改 ,只有查 只读列表,元组的儿子类是不可以改的,孙子类是可以改的 如果元组中只有一个元素,(元素 , ) tu = tuple() 定义一个空元组 tu = (1,2,True,[1,2,3],'alex') tu里是不可以改的,但里面[1,2,3]是可以改的 #index 通过元素找索引 #len() 长度 tu[::2] 索引也可以用 可以循环取值 range range是一个可迭代的对象 mn是范围顾头不顾腚 q步长 可利用直接去奇数偶数等 1. range(n) 0 -> n-1 for i in range(10): print(i) 2. range(m,n) m -> n-1 for i in range(1,10): print(i) 3. range(m,n,q) m -> n-1 每q个取一个 for i in range(1,10,3): print(i) for i in range(100, 90, -1): print(i)