列表
可以存放不同类型的数据
列表相关操作
添加
append
list1 = []
for i in range(10):
list1.append(i)
print(list1)
效果如下
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
insert
在指定位置index前插入元素object
a.insert(1,10)
print(a)
效果如下
[0, 10, 1, 2]
extend 可以将另外一个集合逐一添加到列表中
a = [1,2]
b = [3,4]
a.append(b)
print(a)
a.extend(b)
print(a)
效果如下
[1, 2, [3, 4]]
[1, 2, [3, 4], 3, 4]
修改
name_list = ['里布','xiaoming',1024]
name_list[1] = '小明'
print(name_list)
查找 in not in
name_list = ['里布','小明',1024]
name_list[1] = '小明'
Find_name = '小明'
if Find_name in name_list:
print('小明在列表中')
效果如下
小明在列表中
index
a = ['a', 'b', 'c', 'd', 'a', 'b']
index1 = a.index('a', 0,3)
print(index1)
0
count
a = ['a', 'b', 'c', 'd', 'a', 'b']
num = a.count('b')
print(num)
2
删除
del
根据下标进行删除
name_list = ['鲁班','小明',1024]
del name_list[0]
print(name_list)
['小明', 1024]
pop
删除最后一个元素
remove
根据值删除
name_list = ['鲁班','小明',1024]
name_list.remove('小明')
print(name_list)
['鲁班', 1024]
sort与sorted
- sort对原来的列表进行改变,sorted返回新列表,原来的列表没有改变
- sort属于列表成员方法,sorted属于内置函数,可以对可迭代的对象进行排序
列表的嵌套
矩阵一般不使用矩阵的嵌套
列表推导式
轻量级循环创建列表
list2 = [i for i in range(10)]
print(list2)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list3 = ['ololololol' for _ in range(5)]
print(list3)
['ololololol', 'ololololol', 'ololololol', 'ololololol', 'ololololol']
L = [randint(-10, 10) for _ in range(10)]
print(L)
[2, 2, 4, -4, 5, 9, -1, 6, -3, 2]
筛选元素
from random import randint
L = [randint(-10, 10) for _ in range(10)]
res = [x for x in L if x >= 0]
print(res)
[10, 4, 10, 2]
列表转化成字符串
my_list = ['Welcome', 'to', 'ML', 'World']
print(' '.join(my_list))
Welcome to ML World
字符串和列表的乘法运算
列表
复制原列表,返回新列表
List = ['6', 9, 10, 0, 3] * 5
print(List)
['6', 9, 10, 0, 3, '6', 9, 10, 0, 3, '6', 9, 10, 0, 3, '6', 9, 10, 0, 3, '6', 9, 10, 0, 3]
字符串
复制原字符串,返回新字符串
例题
import string
from random import randint
offices = [[], [], []]
names = list(string.ascii_uppercase[:8])
for name in names:
offices[randint(0,2)].append(name)
print(offices)
i = 1
for tempName in offices:
print('办公室{}的人数为{}'.format(i, len(tempName)))
i += 1
print('成员为:',end=' ')
for name in tempName:
print('{}'.format(name),end=' ')
print('\n'+'-' * 30)
同时遍历两个列表
zip
用于将可迭代对象作为参数,将对象中的对应的元素打包成元组,然后返回这些元组对象 节约内存
a = [1, 2, 3]
b = [4, 5, 6]
c = [4, 5, 6, 7, 8]
zipped = zip(a, b)
print(list(zipped))
[(1, 4), (2, 5), (3, 6)]
长度不一致,返回的对象与最短对象相同
打乱列表顺序
import random
a = [1, 2, 3, 4, 5, 6]
random.shuffle(a)
print(a)
效果如下
[4, 2, 3, 5, 1, 6]