010/011/012—列表:一个打了激素的数组
1.创建一个Python列表
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现
列表的数据项不需要具有相同的类型
>>> member =["我是","i am ","123","888@@"]
>>> member
['我是', 'i am ', '123', '888@@']
>>> member.append("你好漂亮")
>>> member
['我是', 'i am ', '123', '888@@', '你好漂亮']
>>> member.extend(["萝卜","luobo"])
>>> member
['我是', 'i am ', '123', '888@@', '你好漂亮', '萝卜', 'luobo']
>>> member.insert(0,"zero")
>>> member
['zero', '我是', 'i am ', '123', '888@@', '你好漂亮', '萝卜', 'luobo']
>>>
2,向列表添加元素
.appeng() /append参数是一个准备插入列表的元素
.extend() //用一个列表,扩展另一个列表
.insert() //有两个参数,第一个参数代表在列表中的位置,第二个参数表示在第一个参数的位置插入一个元素
3.从列表中获取元素
跟数组一样,我们可以通过元素的索引值index从列表获取单个元素,注意,列表的索引值是从0开始。(但是有一个点是不一样的,这个列表可以输入负的索引值,-1想到于倒着查找)
>>> member
['123', '888@@', 'i am ', 'luobo', 'luobo', 'luobo', 'zero', '你好漂亮', '我是', '萝卜']
>>> member[3]
'luobo'
4.从列表中删除元素
remove()(只能删除第一个指定的值,如果后面有重复则不能删除)
>>> member
['123', '888@@', 'i am ', 'luobo', 'luobo', 'luobo', 'zero', '你好漂亮', '我是', '萝卜']
>>> member.remove("luobo")
>>> member
['123', '888@@', 'i am ', 'luobo', 'luobo', 'zero', '你好漂亮', '我是', '萝卜']
del
>>> member
['123', '888@@', 'i am ', 'luobo', 'luobo', 'zero', '你好漂亮', '我是', '萝卜']
>>> del member[0]
>>> member
['888@@', 'i am ', 'luobo', 'luobo', 'zero', '你好漂亮', '我是', '萝卜']
#del 还可以直接删除整个列表
pop()
因为Python的列表是利用栈数据结构进行存储的,因此有pop这个弹栈的方法。
pop方法是从列表中取出一个元素,并返回给你
>>> member
['123', '888@@', 'i am ', 'luobo', 'luobo', 'zero', '你好漂亮', '我是', '萝卜']
>>> del member[0]
>>> member
['888@@', 'i am ', 'luobo', 'luobo', 'zero', '你好漂亮', '我是', '萝卜']
>>> member.pop()
'萝卜'
>>> name = member.pop()
>>> name
'我是'
>>> member
['888@@', 'i am ', 'luobo', 'luobo', 'zero', '你好漂亮']
>>> member.pop(1)
'i am '
>>> member
['888@@', 'luobo', 'luobo', 'zero', '你好漂亮']
5.列表分片
利用索引值,每次我们可以从列表获取一个元素,但是我们总是贪心的,如果一次性需要获取多个元素,有没有办法实现呢?利用列表分片,我们可以简单的实现这个要求
member
['888@@', 'luobo', 'luobo', 'zero', '你好漂亮']
>>> member[0:2]
['888@@', 'luobo']
>>> member
['888@@', 'luobo', 'luobo', 'zero', '你好漂亮']
>>> member[0]
'888@@'
>>> member[0:]
['888@@', 'luobo', 'luobo', 'zero', '你好漂亮']
>>> member[:2]
SyntaxError: invalid character in identifier
>>> member[:2]
['888@@', 'luobo']
>>> member[:3]
['888@@', 'luobo', 'luobo']
#[1:3]包括1位不包括3位
6.其他方法
count()方法——查看相关元素出现的次数
>>> member.extend(["luobo","luobo"])
>>> member
['zero', '我是', 'i am ', '123', '888@@', '你好漂亮', '萝卜', 'luobo', 'luobo', 'luobo']
>>> member.count("luobo")
3
>>>
index()方法——查看相关元素在列表中的位置——但是只能查看第一次出现的那个元素的位置,并且可以限制查看的位置范围
>>> member
['zero', '我是', 'i am ', '123', '888@@', '你好漂亮', '萝卜', 'luobo', 'luobo', 'luobo']
>>> member.index("luobo")
7
reverse()方法——倒转列表
>>> member
['zero', '我是', 'i am ', '123', '888@@', '你好漂亮', '萝卜', 'luobo', 'luobo', 'luobo']
>>> member.reverse()
>>> member
['luobo', 'luobo', 'luobo', '萝卜', '你好漂亮', '888@@', '123', 'i am ', '我是', 'zero']
sort()方法——将列表按升序排列
>>> member
['luobo', 'luobo', 'luobo', '萝卜', '你好漂亮', '888@@', '123', 'i am ', '我是', 'zero']
>>> member.sort()
>>> member
['123', '888@@', 'i am ', 'luobo', 'luobo', 'luobo', 'zero', '你好漂亮', '我是', '萝卜']
7.拓展:
(1.)Python列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表
Python 表达式 | 描述 |
---|---|
len([1, 2, 3]) | 长度 |
[1, 2, 3] + [4, 5, 6] | 组合 |
[‘Hi!’] * 4 | 重复 |
3 in [1, 2, 3] | 元素是否存在于列表中 |
for x in [1, 2, 3]:print (x) | 迭代 |
(2.)Python列表函数&方法
Python包含以下函数:
函数 | 作用 |
---|---|
cmp(list1, list2) | 比较两个列表的元素 |
len(list) | 列表元素个数 |
max(list) | 返回列表元素最大值 |
min(list) | 返回列表元素最小值 |
list(seq) | 将元组转换为列表 |
(3.)Python包含以下方法:
方法 | 作用 |
---|---|
list.append(obj) | 在列表末尾添加新的对象 |
list.count(obj) | 统计某个元素在列表中出现的次数 |
list.extend(seq) | 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
list.index(obj) | 从列表中找出某个值第一个匹配项的索引位置 |
list.insert(index, obj) | 将对象插入列表 |
list.pop([index=-1]) | 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
list.remove(obj) | 移除列表中某个值的第一个匹配项 |
list.reverse() | 反向列表中元素 |
list.sort(cmp=None, key=None, reverse=False) | 对原列表进行排序 |