列表的增删改查

列表的增加

1. append()
  • 作用:在列表的最后,追加一个新的元素
  • 语法:l.append(object)
    object:想要添加的元素
  • 返回值:.append()是一个方法,如果print的话输出None
  • 注:会直接修改原列表
nums = [1,2,3,4]
print(nums)
nums.append(5)
print(nums)
print(nums.append(5))

输出:
在这里插入图片描述

2. insert()
  • 作用:在指定的索引前,追加一个新的元素
  • 语法:l.insert(index, object)
    index:索引,元素插在这个索引元素前面
  • 注:会直接修改原列表
nums = [1,2,3,4]
print(nums)
nums.insert(0,5)
print(nums)
print(nums.insert(0,5))

输出:
在这里插入图片描述

3.extend()
  • 作用:往列表中,扩展另外一个可迭代序列
  • 语法:l.extend(iterable)
    iterable:可迭代集合(字符串、列表、元组)
  • 注:会直接修改原列表
num1 = ['a','b','c']
num2 = [1,2,3]
print(num1)
print(num2)
num1.extend(num2)
print(num1)

输出:
在这里插入图片描述

4.乘法运算
5.加法运算
num1 = ['a','b','c']
num2 = [1,2,3]
print(num2 * 3)
print(num1 + num2)

输出:
在这里插入图片描述

加法运算只能连接列表和列表,extend()会将可迭代对象的每个字符作为新元素追加到列表

列表的删除

1. del 语句
  • 作用:可以删除一个指定元素(或对象)
  • 语法:del 指定元素
  • 注:可以删除整个列表、一个变量、某个元素
num = [1,2,3,4,5]
del num[1]
print(num)

输出:
在这里插入图片描述

2. pop
  • 作用:移除并返回列表中指定索引对应元素
  • 语法:l.pop(index=-1)
    index:需要被删除并返回的元素索引,默认-1,即最后一个元素
  • 返回值:被删除的元素
  • 注意:会直接修改原列表;注意索引越界
num = [1,2,3,4,5]
print(num.pop())
print(num)

输出:
在这里插入图片描述

3. remove()
  • 作用:移除列表中指定元素(不会返回)
  • 语法:l.remove(object)
  • 返回值:None
  • 注意:会直接修改原数组
    如果元素不存会报错
    若存在多个元素,只会删除最左边的一个
    注意循环内删除列表元素带来的坑
num = [1,2,3,4,3,4,3,5]
print(num.remove(3))
print(num)

输出:
在这里插入图片描述

列表的修改

找到对应位置直接修改即可。
注意索引不要越界。
列表与字符串区别:字符串不可修改

num = [1,2,4]
num[1] = 6
print(num)

输出:[1, 6, 4]
字符串不支持修改:

num = '123'
num[1]=6
print(num)

在这里插入图片描述

列表的查找

1. items[]
  • 作用:获取单个元素
  • 语法:items[index]
  • 注意:负索引
2. index()
  • 作用:获取元素索引
  • 语法:index(object)
  • 注意:只返回从左开始第一个查到的元素索引,可以在object后面指定查找区间
3. count()
  • 作用:获取指定元素个数
4. items[start: end: step]
  • 作用:获取多个元素;切片操作
5. 遍历

5.1. 根据元素进行遍历
5.2. 根据索引进行遍历

num = ['a','c','b','a']
currentIndex = 0
for i in num:
    print(i)
    print(num.index(i, currentIndex))#不改变开头查找的索引位置只会查找第一个出现的索引位置
    currentIndex += 1

输出:
在这里插入图片描述

num = ['a','c','b','a']
#1.造一个索引列表
indexs = range(len(num))

#2.遍历整个索引列表,输出每一个索引以及其指定元素
for index in indexs:
    print(index, num[index])

输出:
在这里插入图片描述

5.3. 枚举

num = ['a','c','b','a']
#遍历整个枚举对象
print(enumerate(num))
print(list(enumerate(num)))
# for tupleValue in enumerate(num):
for idx, val in enumerate(num,1):#索引对象的索引从1开始
    # idx, val = tupleValue
    print(idx)
    print(val)

输出:
在这里插入图片描述

5.4. 迭代器

num = [1,2,3,4]
iterl = iter(num)#产生迭代器
for i in iterl:
    print(i)
    #迭代器不可多次迭代
print('——————————————')
for i in iterl:
    print(i)

输出:
在这里插入图片描述

列表的额外操作

1.判定

in
not in

2. 比较

cmp()
只适用于python2
python3直接使用 > 或者 < 即可

3.排序

方式一:sorted(iterable, key=None, reverse=False)*
内建函数
key:排序关键词;值为一个函数,此函数只有一个参数且返回一个值用来进行比较
reverse:控制升序降序,默认False升序
返回值:一个已经排列好序的列表,列表类型
方式二:l.sorted(key=None, reverse=False)*
key:排序关键词;值为一个函数,此函数只有一个参数且返回一个值用来进行比较
reverse:控制升序降序,默认False升序

l = [('mi1',13), ('mi4',11),('mi2',12),('mi3',14)]
print(sorted(l, reverse=True))#按照第一个元素降序排列
print(l)#不改变原l
def getkey(x):
    return x[1]#仿函数,将排序关键词取第二个元素
res1 = sorted(l,key=getkey,reverse=True)
print(res1)#按照第二个元素降序排列
res = l.sort(key=getkey)#getkey后面不需要加(),内部处理即可
print(res)#返回None,是方法
print(l)#按照第二个元素升序排列,原序列l已改变

输出:
在这里插入图片描述

4. 乱序
  • 作用:随机打乱一个列表
  • 语法:random.shuffle(list)
  • 先import random
import random
l = [1,2,3,4,5]
res = random.shuffle(l)
print(res, l)

输出:
在这里插入图片描述

5. 反转

l.reverse()
切片反转l[::-1]

l = [1,2,3,4,5]
print(l[::-1])#不改变原序列
print(l)
print(l.reverse())#改变原序列
print(l)

输出:
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 增加元素: a. append()方法:在列表末尾添加一个元素。 ``` fruits = ['apple', 'banana'] fruits.append('orange') print(fruits) # ['apple', 'banana', 'orange'] ``` b. insert()方法:在指定位置插入一个元素。 ``` fruits = ['apple', 'banana'] fruits.insert(1, 'orange') print(fruits) # ['apple', 'orange', 'banana'] ``` c. extend()方法:将一个列表的元素添加到另一个列表的末尾。 ``` fruits1 = ['apple', 'banana'] fruits2 = ['orange', 'kiwi'] fruits1.extend(fruits2) print(fruits1) # ['apple', 'banana', 'orange', 'kiwi'] ``` 2. 删除元素: a. remove()方法:删除列表中的指定元素。 ``` fruits = ['apple', 'banana', 'orange'] fruits.remove('banana') print(fruits) # ['apple', 'orange'] ``` b. pop()方法:删除列表中指定位置的元素。 ``` fruits = ['apple', 'banana', 'orange'] fruits.pop(1) print(fruits) # ['apple', 'orange'] ``` c. del语句:删除列表中指定位置的元素或整个列表。 ``` fruits = ['apple', 'banana', 'orange'] del fruits[1] print(fruits) # ['apple', 'orange'] del fruits print(fruits) # NameError: name 'fruits' is not defined ``` 3. 修改元素: a. 直接赋值:通过索引直接修改列表中的元素。 ``` fruits = ['apple', 'banana', 'orange'] fruits[1] = 'kiwi' print(fruits) # ['apple', 'kiwi', 'orange'] ``` b. 切片赋值:通过切片修改列表中的一部分元素。 ``` fruits = ['apple', 'banana', 'orange'] fruits[1:3] = ['kiwi', 'grape'] print(fruits) # ['apple', 'kiwi', 'grape'] ``` 4. 查找元素: a. in关键字:判断一个元素是否在列表中。 ``` fruits = ['apple', 'banana', 'orange'] print('apple' in fruits) # True print('kiwi' in fruits) # False ``` b. index()方法:获取一个元素在列表中的索引。 ``` fruits = ['apple', 'banana', 'orange'] print(fruits.index('banana')) # 1 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值