DAY5 收获

列表(list)

Python中列表由方括号"[ ]"括起来,元素之间使用逗号","分隔,元素可以是不同类型的元素,一般情况下,各元素的类型相同。

1、访问列表中的值

1.1 索引

列表和字符串一样,元素的索引都是从0开始,第二个是1,以此类推。

print(list[1])        # 结果为green

1.2 反向索引

与字符串一样,最后一个为-1,倒数第二个为-2,以此类推。

print(list[-2])        # 结果为white

1.3 切片索引

使用下标来索引列表中的值

注意:切片是深拷贝操作

nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]

some_nums = nums[2:7]

print(some_nums)     # 结果是[30, 40, 50, 60, 70]

注意:切片操作格式为list[start:stop:step],start不写默认为从列表第一个元素开始截取;end不写默认为截取到最后一个元素为止;step不写默认为截取的步长为1。截取时遵循左闭右开原则,如:nums[1:4]表示从下标为1的元素截取到下标为3的元素为止,即[20, 30, 40]。

2、更新列表

对列表的数据项进行修改或更新,可使用append()方法来添加列表项到列表末尾

list = ['1', '2', '3', '4']

list.append('5')

print(list)   # 输出为 ['1', '2', '3', '4', '5']

3、删除列表元素

可以使用 del 语句来删除列表的的元素

list = ['1', '2', '3', '4']

del list[3]

pritn(list)  # 输出为['1', '2', '3']

也可以使用 del 语句删除列表中的一段,需要使用到切片,如:

list = ['1', '2', '3', '4']

del list[1:2]

print(list)    # 输出为['1', '4']

4、列表操作符

len([1, 2, 3])                         # 返回列表长度  3

[1, 2, 3] + [4, 5, 6]               # 列表组合   [1, 2, 3, 4, 5, 6]

['Hi!'] * 4                              # 列表重复  ['Hi!', 'Hi!', 'Hi!', 'Hi!']

3 in [1, 2, 3]                        #  查找元素是否位于列表中     True

for x in [1, 2, 3]: print(x)      # 迭代  1 2 3

5、嵌套列表

a = ['a', 'b', 'c']

n = [1, 2, 3]

x = [a, n]

print(x)              #  输出为[['a', 'b', 'c'], [1, 2, 3]]

print(x[0])          #  输出为['a', 'b', 'c']

print(x[0][1])      # 输出为b

6、列表常用API

操作列表的函数

len(list)列表元素个数

max(list)返回列表元素最大值

min(list)返回列表元素最小值

list(seq)将元组转换为列表

列表的方法

  • list.append(obj)在列表末尾添加新的对象

list = [1, 2, 3, 4, 5]

list.append(6)

print(list)  #  [1, 2, 3, 4, 5, 6]

  • list.count(obj)统计某个元素在列表中出现的次数

list = [1, 2, 3, 3, 4, 5]

n = list.count(3)

print(n)   #  2

  • list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

x1 = [1, 2, 3, 4]

x2 = [5, 6, 7, 8]

x1.extend(x2)# 函数没有返回值,是修改列表

print(x1)  # [1, 2, 3, 4, 5, 6, 7, 8]

注意:x1.extend(10) 报错,只能传入可迭代数据

  • list.index(obj)从列表中找出某个值第一个匹配项的索引位置

x1 = [1, 2, 3, 4]

re = x1.index(3)

print(re)   #  2

  • list.insert(index, obj)将对象插入列表

x1 = [1, 2, 3, 4]

x1.insert(1, 20)

print(x1)   # [1, 20, 2, 3, 4]

x1.insert(100, 10)

print(x1)   # [1, 20, 2, 3, 4, 10]

x1.insert(99, 30)

print(x1)   # [1, 20, 2, 3, 4, 10, 30]

x1.insert(len(x1), 40)

print(x1)  # [1, 20, 2, 3, 4, 10, 30, 40]

  • list.pop(index=-1)移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

x1 = [1, 2, 3, 4]

re = x1.pop()

print(re)  # [1, 2, 3]

  • list.remove(obj)移除列表中某个值的第一个匹配项

x1 = [1, 2, 3, 4]

x1.remove(3)

print(x1) # [1, 2, 4]

  • list.reverse()反向列表中元素

x1 = [1, 2, 3, 4]

x1.reverse()

print(x1)  # [4, 3, 2, 1]

  • list.sort( key=None, reverse=False)对原列表进行排序: x.sort(key=lambda a:abs(a-3), reverse=False)

x1 = [9, 6, 8, 7]

x1.sort()

print(x1)  # [6, 7, 8, 9]

x1.sort(key=lambda a:abs(a - 8), reverse=False)

print(x1)  #[8, 7, 9, 6]

  • list.clear()清空列表

x1 = [1, 2, 3, 4]

x1.clear()

print(x1)  # []

  • list.copy()复制列表,深拷贝

x2 = x1.copy()

print(id(x1) == id(x2))  # False

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值