举例说明: a = [1,2,3,4,5,6,7] 正向索引: a[0:4:1] == [1,2,3,4] 反向索引: a[-1:-4:-1] == [7,6,5] 默认索引: a[1:] == [2,3,4,5,6,7] 列表的拷贝(传值) b = a [ : ]
+
生成一个新的列表 。c = a+bExtend: 接受参数并将该参数的每个元素都添加到原有的列表中,原地修改列表而不是新建列表。Append: 添加任意对象到列表的末端。Insert: 插入任意对象到列表中,可以控制插入位置。修改列表本身只需要直接赋值操作就行。
A = [1,2,3] A[0] = ‘haha’ A == [‘haha’,2,3]
del :我们通过索引删除指定位置的元素。
del a[0] a = [1,2,3] b = a del a #删除列表对象的引用, PRint b 仍为[1,2,3] del a[:] #清空列表对象的元素,此时再print b为空列表[]
remove:移除列表中指定值的第一个匹配值。如果没找到的话,会抛异常。
a = [1,2,3] a.remove(‘2’)
pop:返回最后一个元素,并从list中删除它。
a = [1,2,3] a.pop()
In/not in我们可以判断一个元素是否在列表里。 返回一个bool类型,元素在列表里返回true,否则返回fasle.
[expr for iter_var in iterable] 首先迭代iterable里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。
比如我们要生成一个包含1到10的列表: 方法一:[x for x in range(1,11)]
方法二:Range(1,11) #注意Range() 函数与range的区别
[expr for iter_var in iterable if cond_expr] 加入了判断语句,只有满足条件的内容才把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。
比如要生成包含1到10的所有奇数列表:
方法一:range(1,11,2) 注:关于range函数:range( start, end ,step = 1) range(end)
方法二:[x for x in range(1,11) if x % 2 == 1]
列表推导式的一个不足是不要生成所有的数据用以创建列表。
生成器表达式(列表推导式的扩展):不真正创建数字列表,而是返回一个生成器,这个生成器在每次计算出一个条目后,把这个条目产生出来。使用了“延时计算”,使用内存上更有效。 (expr for iter_var in iterable if cond_expr)
sort()函数:从小到大排序列表,这个方式直接修改原列表。返回值为None。
a = [33,11,22,44] b = a.sort() print b #输出的内容是None print a #输出:[11,22,33,44]
reverse()函数:反转一个list, 返回值为None,其余同上。
a =’asf’ list(a) == [‘a’,’s’,’f’] a = (1,2) list(a) == [1,2]
新闻热点
疑难解答