列表
-
添加元素
# 在列表尾部添加一个元素 list.append() # 在指定位置添加元素,如果下标不存在,就在末尾添加 list.insert(n, '4') # 列表合并, list2中仍有元素 list1.extend(list2)
-
查询列表中的值
# 通过下标索引访问 print(list[n]) # 查看某个元素在列表中的个数,如果元素不存在,返回0 list.count(xx) # 返回元素的下标,如果有多个,返回第一个,找一个不存在的元素会报错 list.index(xx)
-
删除列表中的元素
# 删除最后一个元素,有返回值 list.pop() # 指定下标,删除指定的元素,有多个相同的元素,删除第一个,有返回值 list.pop(n) # 删除列表中的一个元素,有多个相同的元素,删除第一个, 无返回值 list.remove(xx) # 删除指定下标对应的元素 del list[n] # 删除整个列表,list删除后无法访问 del list
-
排序和反转
# 列表反转 list.reverse() # 排序(list中有字符串,数字时不能排序,排序针对同类型) list.sort() # 降序排序 list.sort(reverse=True)
-
相关函数
# 列表元素个数 len(list) # 列表元素最大值 max(list) # 列表元素最小值 min(list) # 将元组转换为列表 list(seq) # enumerate用法 同时打印列表索引值 # 列表转换为字符串 ## 直接使用字符串join方法:列表中的元素只有字符串 li = [ "age","aa", "BB", "dd"] v1=''.join(li) print (v1) ##需要自己写for循环一个一个处理: 既有数字又有字符串 li2 = [ "age","aa", "BB", "dd",10,12,13] v3='' for i in li2: v3=v3 + str(i) print(v3)
-
索引和切片
# 几种常用形式 list[n:] list[:m] list[n:m] list[:] list[n:m:s] # 步长,从左到右或从右到左
-
列表生成式
# 实例1 list(range(1,11)) # 实例2 [x*x for x in range(1,11)] # 实例3 [x*x for x in range(1,11) if x%2==0] # 实例4 [m + n for m in 'ABC' for n in 'XYZ'] # 实例5 d = {'x': 'A', 'y': 'B', 'z': 'C' } [k + '=' + v for k,v in d.items()]
小结
- 列表是一个有序的对象集合
- 一个对象在另一个对象中,用in判断
- 如何复制一个数据结构?不要使用赋值操作符复制列表;应当使用copy方法。
赋值操作都指向同一个数据,如果修改一个列表,另一个也会改变;如果想让另一个变量引用一个现有列表,可以使用赋值操作(=)
list2 = list1.copy() ;如果想建立现有列表中对象的副本,用他们初始化一个新列表,就一定要使用copy 方法