列表的基本操作
一、追加元素
- 使用
append()
追加元素列表
In [22]:list1 = []
In [23]:list1.append(1)
In [24]:list1.append(4)
In [25]:list1
Out[25]: [1, 4]
二、修改元素
- 直接对列表元素或者列表切片重新赋值
In [27]:list1 = [1, 4, 8, 32]
In [28]:list1[2] = 16
In [29]:list1
Out[29]: [1, 4, 16, 32]
In [30]:list1[0:2] = [100, 400]
In [31]:list1
Out[31]: [100, 400, 16, 32]
三、删除元素
1、使用 remove()
删除列表指定元素 - 按值删除
In [31]:list1
Out[31]: [100, 400, 16, 32]
In [32]:list1.remove(400)
In [33]:list1
Out[33]: [100, 16, 32]
2、使用 del
删除列表指定元素 - 按索引删除
In [33]:list1
Out[33]: [100, 16, 32]
In [34]:del list1[1]
In [35]:list1
Out[35]: [100, 32]
四、插入元素
- 利用
insert()
在列表指定位置插入新元素
In [35]:list1
Out[35]: [100, 32]
In [36]:list1.insert(1, 300)
In [37]:list1
Out[37]: [100, 300, 32]
# 如果指定位置超出列表范围,会把元素追加到列表后面
In [38]:list1.insert(88, 300)
In [39]:list1
Out[39]: [100, 300, 32, 300]
五、加法操作 - 连接操作
- 列表相加,只是将两个列表元素按原有顺序连接成一个新列表
In [1]:list1 = [1, 3, 5]
In [2]:list2 = [2, 4, 6]
In [3]:list1 + list2
Out[3]: [1, 3, 5, 2, 4, 6]
六、乘法操作 - 重复操作
- 列表乘以整数,表示重复若干次
- 列表乘以非正数,那么返回空列表
In [16]:list1 = ['瓦坎达', 'forever']
In [17]:list1 * 3
Out[17]: ['瓦坎达', 'forever', '瓦坎达', 'forever', '瓦坎达', 'forever']
In [18]:list1 * 0
Out[18]: []
In [19]:list1 * (-1)
Out[19]: []
七、检查成员 - 查询操作
names = ['红塔山', '煊赫门', '云烟']
name = input('输入待查名字:')
if name in names:
print('{}在列表里'.format(name))
else:
print('{}不在列表里'.format(name))
输出结果:
输入待查名字:玉溪
玉溪不在列表里
输入待查名字:云烟
云烟在列表里
八、复制列表 - copy()
In [20]:list1
Out[20]: ['瓦坎达', 'forever']
In [21]:list2 = list1.copy()
In [22]:list2
Out[22]: ['瓦坎达', 'forever']
九、列表生成式
1、列表生成式概念
- 基于一个列表的元素生成一个新的列表,但它是一个列表的形式来完成的,称之为列表生成式
- 格式:
[新列表元素构成的表达式 for 新列表元素 in 旧列表 if <表达式>]
- 第一部分负责处理,第二部分负责遍历,第三部分负责筛选
2、奇、偶拆分
nums = [5, 6, 2, 8, 11, 25]
odds = [x for x in nums if x % 2 == 1]
evens = [x for x in nums if x % 2 == 0]
print(odds)
print(evens)
输出结果:
[5, 11, 25]
[6, 2, 8]
3、元素翻倍
nums = [5, 6, 2, 8, 11, 25]
new_nums = [x * 2 for x in nums]
print(new_nums)
输出结果:
[10, 12, 4, 16, 22, 50]