Python(6)--列表,,列表: 序列中已经
Python(6)--列表,,列表: 序列中已经
列表:
序列中已经使用了列表
列表是用[]定义的序列,[]内包含0个或者多个元素
列表是可变的,可以修改其内容
函数list:
将序列作为list函数的参数,常见列表
#字符串创建列表>>> s = "hello">>> l = list(s)>>> l[‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘]# 列表转换为字符串>>> "".join(l)‘hello‘
列表基本操作:
列表可以执行所有的标准序列操作:Python(5)--数据结构-序列-通用操作
修改列表:
1、元素赋值
# 使用索引给特定的元素赋值>>> s = [1, 2, 3, 4, 5, 6, 7, 8, 9]>>> s[2] = "a">>> s[1, 2, ‘a‘, 4, 5, 6, 7, 8, 9]# 不能给不存在的元素赋值>>> s[10] = "b"Traceback (most recent call last): File "<stdin>", line 1, in <module>IndexError: list assignment index out of range
2、删除元素
# 使用del语句删除元素>>> s[1, 2, ‘a‘, 4, 5, 6, 7, 8, 9]>>> del s[6]>>> s[1, 2, ‘a‘, 4, 5, 6, 8, 9]
3、切片赋值
# 给多个元素赋值>>> a = list("python")>>> a[‘p‘, ‘y‘, ‘t‘, ‘h‘, ‘o‘, ‘n‘]>>> a[3:] = list("xxx")>>> a[‘p‘, ‘y‘, ‘t‘, ‘x‘, ‘x‘, ‘x‘]# 替换不同长度的序列>>> a = list("python")>>> a[‘p‘, ‘y‘, ‘t‘, ‘h‘, ‘o‘, ‘n‘]>>> a[1:] = list("z")>>> a[‘p‘, ‘z‘]# 不替换原有元素下插入新元素,使用[1:1]得到是空切片,通过替换它来插入>>> a[‘p‘, ‘z‘]>>> a[1:1][]>>> a[1:1] = [6, 6, 6]>>> a[‘p‘, 6, 6, 6, ‘z‘]# 删除,使用空序列来替换>>> a[‘p‘, 6, 6, 6, ‘z‘]>>> a[1:4] = []>>> a[‘p‘, ‘z‘]
列表方法:
append方法,将一个对象追加到列表末尾
>>> a[‘p‘, ‘z‘]>>> a.append(6)>>> a[‘p‘, ‘z‘, 6]
clear方法就地清空列表
>>> a[‘p‘, ‘z‘, 6]>>> a.clear()>>> a[]
copy方法赋值列表
# 常规的复制只是将另一个名字关联到列表,也就是两个名字指向同一个列表>>> a = [1, 2, 3]>>> b = a>>> b[1] = "a">>> a[1, ‘a‘, 3]>>> b[1, ‘a‘, 3]# 如果要让a和b指向不同的列表,需要将b关联到a的副本,跟a[:]和list(a)类似,都是赋值a>>> a = [1, 2, 3]>>> b = a.copy()>>> b[1] = "a">>> a[1, 2, 3]>>> b[1, ‘a‘, 3]
count方法计算指定元素在列表中出现的次数
>>> a = [1, 2, 3, 2,2,1,2]>>> a.count(2)4>>> a = ["a", [1,2], 1, 2, [1, 2]]>>> a.count([1, 2])2
extend方法使用一个列表来扩展另一个列表
>>> a = [1, 2, 3]>>> b = ["a", "b"]>>> a.extend(b)>>> a[1, 2, 3, ‘a‘, ‘b‘]# 看着跟拼接差不多,但是拼接是不会修改原来的列表的,是返回一个新列表>>> a = [1, 2, 3]>>> b = ["a", "b"]>>> a + b[1, 2, 3, ‘a‘, ‘b‘]>>> a[1, 2, 3]
index方法在列表中查找指定元素第一次出现的索引,找不到会报错
>>> a = [1, 2, 3, 2,2,1,2]>>> a.index(2)1>>> a.index("a")Traceback (most recent call last): File "<stdin>", line 1, in <module>ValueError: ‘a‘ is not in list
insert方法用于将一个对象插入列表
>>> a = [1, 2, 3, 2,2,1,2]>>> a.insert(3, "aaa")>>> a[1, 2, 3, ‘aaa‘, 2, 2, 1, 2]
pop方法从列表删除一个元素,默认为最后一个,可以指定索引,并返回这个元素
pop是唯一既修改列表又返回一个非None值的列表方法
>>> a[1, 2, 3, ‘aaa‘, 2, 2, 1, 2]>>> a.pop()2>>> a[1, 2, 3, ‘aaa‘, 2, 2, 1]>>> a.pop(3)‘aaa‘>>> a[1, 2, 3, 2, 2, 1]
remove方法用于删除第一个为指定值的元素
修改列表但是不返回值
>>> a[1, 2, 3, 2, 2, 1]>>> a.remove(2)>>> a[1, 3, 2, 2, 1]
reverse方法将列表元素顺序反转,修改列表不反悔任何值
>>> a[1, 3, 2, 2, 1]>>> a.reverse()>>> a[1, 2, 2, 3, 1]# reversed安相反的顺序迭代序列,返回的是一个迭代器,可以使用list将返回的对象转换为列表>>> a[1, 2, 2, 3, 1]>>> list(reversed(a))[1, 3, 2, 2, 1]
sort方法用于对列表就地排序
sorted用于讲一个序列排序,返回一个列表
>>> x = [4, 7, 5, 2, 1, 9]>>> x.sort()>>> x[1, 2, 4, 5, 7, 9]# 如果想要保留原来的xulie,方法一是:先将y关联到x的副本,在对y进行排序>>> x = [4, 7, 5, 2, 1, 9]>>> y = x.copy()>>> y.sort()>>> x[4, 7, 5, 2, 1, 9]>>> y[1, 2, 4, 5, 7, 9]# 方法二是:使用函数sorted,sorted可以用于任何序列,返回的始终是一个列表>>> x = [4, 7, 5, 2, 1, 9]>>> y = sorted(x)>>> x[4, 7, 5, 2, 1, 9]>>> y[1, 2, 4, 5, 7, 9]>>> x = "python">>> sorted(x)[‘h‘, ‘n‘, ‘o‘, ‘p‘, ‘t‘, ‘y‘]
高级排序:sort和sorted的参数
# 方法sort接受两个可选参数:key和reverse。# key可以设置为一个用于排序的函数,使用这个函数为每个元素创建一个键,再根据这些键进行排序,比如要根据元素长度排序,将key设置为函数len>>> x = ["a","ddd","vv","asdfg"]>>> x.sort(key=len)>>> x[‘a‘, ‘vv‘, ‘ddd‘, ‘asdfg‘]# reverse可以指定为True或者False,指出是否按照相反的顺序排序>>> x = ["a","ddd","vv","asdfg"]>>> x.sort(key=len, reverse=True)>>> x[‘asdfg‘, ‘ddd‘, ‘vv‘, ‘a‘]# 函数sorted也接收这两个参数>>> x = ["a","ddd","vv","asdfg"]>>> sorted(x, key=len)[‘a‘, ‘vv‘, ‘ddd‘, ‘asdfg‘]>>> sorted(x, key=len, reverse= True)[‘asdfg‘, ‘ddd‘, ‘vv‘, ‘a‘]
Python(6)--列表
相关内容
- python 的 turtle 库(一),,TurtleScre
- python语言中的数据类型之列表,,数据类型及内置方法列
- python——RE模块的基础应用及正则表达式的使用,,pyt
- python-docx,,pip instal
- python 将有序list打乱,,利用random模块
- python的tuple(),,转载于:http:/
- python手动编译py_compile,compileall,,python运行之后
- Python中 list, numpy.array, torch.Tensor 格式相互转化,,1.1 l
- python的list和数组的区别,,list不是数组(额
- python3 事件Event,,python线程的事
评论关闭