列表:
作用 :将数据进行封装,可以同时存放不同类型的变量。
split():可以将字符串转为列表。
s = "I love python"
s.split(" ") #将 s 以空格分隔
['I', 'love', 'python']
s.split("*")
['I love python']
s.split(",")
['I love python']
s.split()
['I', 'love', 'python']
1、创建列表:用[]将数据包裹起来,数据之间用逗号隔开就行。
>>> num = [1,2,3,4,5]
>>> type(num)
<class 'list'>
>>> for i in num:
print(i)
1
2
3
4
5
乘号可以重复列表中的元素。
>>> num = [857,"小甲鱼"]
>>> print(num * 3)
[857, '小甲鱼', 857, '小甲鱼', 857, '小甲鱼']
>>>
列表中可以放不同的数据类型,甚至还可以加另一个列表:
>>> list = [1,"哈士奇",3.4,[1,2,3,4]]
2、向列表中添加元素:
- append():将一个参数添加到列表末尾(若在末尾添加多个参数,用extend()方法)。
>>> num = [1,2,3,4]
>>> num.append(6)
>>> num
[1, 2, 3, 4, 6]
>>>
- insert():在任意位置添加元素。
>>> num.insert(2,10)
>>> num
[1, 2, 10, 3, 4, 6]
>>>
3、删除列表中的元素:
- pop():先将参数提取出来,再删除该参数:
>>> num.pop(3)
3
>>> num
[1, 2, 10, 4, 6]
>>>
- remove():删除指定的参数。
>>> num.remove(4)
>>> num
[1, 2, 10, 6]
>>>
- del语句:既能删除某个位置的参数,也能删除整个变量。
>>> del num[2]
>>> num
[1, 2, 6]
>>> del num
>>> num
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
num
NameError: name 'num' is not defined
>>>
4、提取列表中的元素:
- 提取某个位置的参数。
>>> list1 = ["唐僧","孙悟空","猪八戒","沙和尚","白龙马"]
>>> print(list1[3])
沙和尚
>>>
- 提取某段参数:用冒号将两个索引值隔开,左边是开始位置,右边是结束位置,右边部分不包含索引值。
>>> print(list1[1:3])
['孙悟空', '猪八戒']
>>>
可以用[:]提取所有元素。
>>> print(list1[:])
['唐僧', '孙悟空', '猪八戒', '沙和尚', '白龙马']
>>>
- 如果从零位置开始则可以不写左边索引值,从某个位置到末尾位置则可以不用写右边索引值。
>>> print(list1[:2])
['唐僧', '孙悟空']
>>> print(list1[1:])
['孙悟空', '猪八戒', '沙和尚', '白龙马']
>>>
- 列表切片操作还接受第三个参数,其代表的是步长。
>>> print(list1[0:4:2])
['唐僧', '猪八戒']
此操作中可以用[::]提取所有参数。
>>> print(list1[::2])
['唐僧', '猪八戒', '白龙马']
>>>
也可以将步长设为负数。
>>> print(list1[::-1])
['白龙马', '沙和尚', '猪八戒', '孙悟空', '唐僧']
>>> print(list1[::-2])
['白龙马', '猪八戒', '唐僧']
还能使用del语句。
>>> del list1[::2]
>>> list1
['孙悟空', '沙和尚']
>>>
5、in 和 not in 只能判断同一层次的列表。
>>> tt = ["小马奥",1,["小甲鱼","小象"]]
>>> "小马奥" in tt
True
>>> "小甲鱼" in tt
False
>>>
有时候需要去除列表中的重复数据,就可以用 in 和 not in 巧妙地实现。
>>> old_list = ["韩信","韩信","李白","赵云","马超","吕布"]
>>> old_list
['韩信', '韩信', '李白', '赵云', '马超', '吕布']
>>> new_list = []
>>> for i in old_list:
if i not in new_list:
new_list.append(i)
>>> print(new_list)
['韩信', '李白', '赵云', '马超', '吕布']
>>>
6、有关列表的常用方法:
- count():统计元素在列表中出现的次数。
>>> list1 = [1,1,2,34,5,6,87,98,77]
>>> list1.count(1)
2
>>>
- index():返回元素第一次在列表中出现的索引值。
>>> list1.index(34)
3
>>>
index()方法可以限定查找到范围。
>>> start = list1.index(1) + 1
>>> stop = len(list1)
>>> list1.index(1,start,stop)
1
>>>
- reverse():将整个列表原地翻转。
>>> list1.reverse()
>>> list1
[77, 98, 87, 6, 5, 34, 2, 1, 1]
>>>
- sort():将列表元素从大到小进行排序。
>>> num = [43,3,6,87,54,37,1,2,5]
>>> num.sort()
>>> num
[1, 2, 3, 5, 6, 37, 43, 54, 87]
>>>