python 基础 列表
列表
定义列表
>>> names =["xiao ming","xiao hong","li gang","li ming"]
计算机从0开始数起
>>> names =["xiao ming","xiao hong","li gang","li ming"] >>> names[0] # 取第一个 'xiao ming' >>> names[1] # 取第二个 'xiao hong' >>> names[2] # 取第三个 'li gang' >>> names[3] # 取第四个 'li ming' >>> >>> names[-1] # 取最后一个 'li ming' >>> names[-2] # 取倒数第二个 'li gang' >>>
切片:取多个元素
>>> names =["xiao ming","xiao hong","li gang","li ming","xiao gang"] >>> print(names[1],names[2]) # 取第二个和第三个 xiao hong li gang >>> print(names[1:3]) # 叫切片 顾头不顾尾,取1对应的列表数据,不取3之后对应列表数据 ['xiao hong', 'li gang'] >>> print(names[-1]) # -1 代表取从右边列表数起第一个 xiao gang >>> print(names[-2]) # -2 代表取倒数第二个数 li ming >>> print(names[0:3]) # 取 0-2数值,不取3 ['xiao ming', 'xiao hong', 'li gang'] >>> print(names[:3]) # 如果是从头开始取,0可以忽略,跟上句效果一样 ['xiao ming', 'xiao hong', 'li gang'] >>> print(names[1:]) # 如果想取最后一个,必须不能写-1,只能这么写 代表取第二个到最后一个数 ['xiao hong', 'li gang', 'li ming', 'xiao gang'] >>> print(names[1:-1]) # 这样-1 最后一个数 就不会被包含了 ['xiao hong', 'li gang', 'li ming'] >>> print(names[0::2]) # 后面的2是代表,每隔一个元素,就取一个 ['xiao ming', 'li gang', 'xiao gang'] >>> print(names[::2]) # 和上句效果一样 ['xiao ming', 'li gang', 'xiao gang'] >>>
追加
>>> names =["xiao ming","xiao hong","li gang","li ming"] >>> names.append("liu hua") //追加 是在后面追加数据 >>> >>> names ['xiao ming', 'xiao hong', 'li gang', 'li ming', 'liu hua'] >>>
追加另一种方法
# 运算符号追加 >>> a = [1,2,3,4,5] >>> >>> b = [] >>> >>> b += a >>> b [1, 2, 3, 4, 5] # >>> a = [1,2,3,4,5] >>> >>> b = a >>> b [1, 2, 3, 4, 5] # 利用列表生成式添加 >>> a = [1,2,3,4,5] >>> >>> b = [i for i in a if i] >>> b [1, 2, 3, 4, 5]
修改
>>> names =["xiao ming","xiao hong","li gang","li ming"] >>> names[2]=("wolf") // 修改 >>> >>> names ['xiao ming', 'xiao hong', 'wolf', 'li ming'] >>>
插入
>>> names =["xiao ming","xiao hong","li gang","li ming"] >>> names.insert(1,"zhang xiao xian") //插入 list.insert(number,X)中insert是在number位置上插入X,将原有number位子上的数据往后移动 >>> print(names) ['xiao ming', 'zhang xiao xian', 'xiao hong', 'li gang', 'li ming'] >>> >>> names.insert(3,"zhang xue you") >>> print(names) ['xiao ming', 'zhang xiao xian', 'xiao hong', 'zhang xue you', 'li gang', 'li ming'] >>>
删除
>>> >>> names ['xiao ming', 'zhang xiao xian', 'wolf', 'zhang xue you', 'li gang', 'li ming','liu hua'] >>> names.remove("li ming") >>> print(names) ['xiao ming', 'zhang xiao xian', 'wolf', 'zhang xue you', 'li gang', 'liu hua'] >>>del names[1] >>> print(names) ['xiao ming', 'wolf', 'zhang xue you', 'li gang', 'liu hua'] >>> names.pop() //默认不输入,删除最后一个 'liu hua' >>> print(names) //del names[1] = names.pop(1) ['xiao ming', 'wolf', 'zhang xue you', 'li gang'] >>>
获取下标
>>> names ['xiao ming', 'wolf', 'zhang xue you', 'li gang'] >>> print(names.index("wolf")) // list.index("date")索引查询数据所在位置 1 >>> print(names[names.index("wolf")] ) // 把值取出来 wolf
统计
>>> names ['xiao ming', 'wolf', 'zhang xue you', 'li gang'] >>> >>> >>> print(names.count("wolf")) // 计数统计 1 >>>
清空
>>> names ['xiao ming', 'wolf', 'zhang xue you', 'li gang'] >>> names.clear() >>> print(names) [] >>>
反转&排序
//反转 >>> names ['xiao ming', 'xiao hong', 'li gang', 'li ming'] >>> >>> names.reverse() >>> print(names) ['li ming', 'li gang', 'xiao hong', 'xiao ming'] >>> #排序 >>> >>> names.sort() //按ASCII码排序 >>> print(names) ['li gang', 'li ming', 'xiao hong', 'xiao ming'] >>>
从小到大排序sort()
a = [10,9,8,7,6,5] a.sort() print(a)
从大到小排序 reverse()
a = [1,2,3,4,5] a.reverse() print(a)
扩展
//扩展 列表合并 >>> names ['li gang', 'li ming', 'xiao hong', 'xiao ming'] >>> >>> >>> names2 =[1,2,3,4] >>> names.extend(names2) >>> print(names,names2) ['li gang', 'li ming', 'xiao hong', 'xiao ming', 1, 2, 3, 4] [1, 2, 3, 4]