ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
列表:可变序列 创建 list -------- 1. [元素1, 元素2, ...] 2. list() 3. list(iterable) 4. 列表生成式(List Comprehensions) [exp for iter_var in iterable] [x * x for x in ...] [x + y for x in ... for y in ...] [x + x for x in ... if...] ~~~ [] [1, 2] list() # [] list(range(3)) list('123') [x for x in range(1, 5)] # [1, 2, 3, 4] [x * x for x in range(1, 5)] # [1, 4, 9, 16] [x + x for x in range(1, 5) if x % 2 == 0] # [4, 8] [m + n for m in 'ABC' for n in 'abc'] # ['Aa', 'Ab', 'Ac', 'Ba', 'Bb', 'Bc', 'Ca', 'Cb', 'Cc'] [m + n for m in 'ABC' if m=='A' for n in 'abc'] # ['Aa', 'Ab', 'Ac'] [k+v+x for k, v in {'a':'A', 'b':'B'}.items() for x in '12345'] # ['aA1', 'aA2', 'aA3', 'aA4', 'aA5', 'bB1', 'bB2', 'bB3', 'bB4', 'bB5'] [k + v for k, v in {1:11, 2:22}.items()] # [12, 24] [s.lower() for s in 'ABC'] # ['a', 'b', 'c'] ~~~ list 常见操作 ------------- - 增:L.insert(index, object)、L.append(obj) 、L.extend(iterable) - 删:del、L.pop([index=-1])、L.remove(value) - 改:1、索引 2、切片 - 查:1、索引 2、切片 list 函数/方法 --------------- #### insert() ~~~ L.insert(index, object) -> None -- 在指定索引前插入对象 ~~~ ~~~ l.insert(0, 'first') ~~~ #### append() ~~~ L.append(object) -> None -- 添加对象到末尾 ~~~ ~~~ l.append('end') ~~~ #### extend() ~~~ L.insert(index, object) -> None -- 在指定索引前插入对象 ~~~ ~~~ l.insert(0, 'first') ~~~ #### insert() ~~~ L.extend(iterable) -> None -- 合并可循环对象至列表 ~~~ ~~~ l.extend(range(3, 5)) l.extend(['x', 'y']) ~~~ #### pop() ~~~ L.pop([index=-1]) -> item -- 弹出指定元素 ~~~ ~~~ l.pop() l.pop(-2) ~~~ #### remove() ~~~ L.remove(value) -> None -- 删除匹配到的第一个元素 ~~~ 找不到元素则报错 ~~~ l.remove(1) l.remove(100) # 报错!100 not in list ~~~ #### insert() ~~~ L.insert(index, object) -> None -- 在指定索引前插入对象 ~~~ ~~~ l.insert(0, 'first') ~~~ #### del - del var1[,var2[,var3[....,varN]]]] -- 删除单个或多个对象的引用 - del 是语句,而不是函数或方法 ~~~ l = [1, 2, 3] del l[0], l[1] # l = [2] 不是预期的[3] ~~~ #### index() ~~~ L.index(value, [start, [stop]]) -> integer -- 返回元素第一次出现位置的索引 ~~~ - start、stop索引规则同切片,亦可越界 - 找不到元素则报错 ~~~ l = ['a', 'b', 'c', 'd', 'e'] l.index('a') # 0 l.index('e', 0, 4) # 报错!并不包含stop=4的元素 l.index('e', 0, 5) # 4 索引可以越界 ~~~ #### count() ~~~ L.count(value) -> integer -- 返回元素出现的次数 ~~~ ~~~ l.count(0) ~~~ #### reverse() ~~~ L.reverse() -> None -- 倒序 ~~~ ~~~ l.reverse() ~~~ #### sort() ~~~ L.sort(key=None, reverse=False) -> None -- 排序 ~~~ ~~~ l.sort() ~~~