前言
讲完了Number,我们就说到了第二种基本类型list了。对于我来说它跟java 中的ArrayList类差不多。接下来通过介绍你也能感觉到它们的异同点。
介绍
list中文也叫列表,通过list我们可以将元素存放其中。
在list中的元素可以是任何类型的。
构造
# List演示
a = ['a', 1, 2, ["a"]];
添加和插入
在List a中有4个元素,这也意味着a的长度为4。
print(len(a)) # 4
如果你直接在a[4]处设置元素,会出现越界错误。
a[4] = 1
正确的添加元素方式:
a.append(1)
print(a) # ['a', 1, 2, ['a'], 1]
a+
插入元素,如果在中间插入元素,插入位置后面的所有元素位置都要往后挪一位,并实现了扩容。
a = ['a', 1, 2, ["a"], 1];
a.insert(1, 'b')
print(a) # ['a', 'b', 1, 2, ['a'], 1]
查找
在添加完元素后,我们需要查找出元素:
a = ['a', 1, 2, ["a"]];
print(a[1]) # 1 正序的查看元素,从0位置开始
print(a[-1]) # ['a'] 倒序查看,从len(a)-1开始
print(a[1:3]) # [1, 2] 与字符串一样的截取
print(a[1:]) # [1, 2, ['a']]
查找元素所在坐标
print(a.index('a')) # 0 查找字符索引
删除
使用remove方法 更加元素名删除元素,不过删的是找到的第一个元素
a = ['a', 1, 2, ["a"], 1];
a.remove(1) # 删除元素
print(a) # ['a', 2, ['a'], 1]
使用pop方法根据元素位置删除元素,默认删除最后一个位置的元素
a = ['a', 1, 2, ["a"], 1];
a.pop() # ['a', 1, 2, ['a']]
print(a)
a.pop(0)
print(a) # [1, 2, ['a']]
删除list中的全部元素
a.clear()
print(a) # []
更新
这个很简单了,就跟数组一样
a = ['a', 1, 2, ["a"], 1];
a[0] = 'b'
print(a) # ['b', 1, 2, ['a'], 1]
拼接
两个list也可以像字符串一样拼在一起,实在太神奇了!
a = ['a']
print(a + ['c']) # ['a', 'c']
转换
想将xxx转为list类型
a = 'aaa'
print(list(a)) # ['a', 'a', 'a']
总结
从其底层数组动态的扩容以及都是有序的这方面都是很像ArrayList的,但是在各种对元素对自身的操作上还是有一定区别的。