Python入门 ——序列——列表

序列:列表,元组,字典,集合,字符串

序列是一种数据存储方式,用来存储一系列的数据

在内存中,序列就是一块用来存放多个值的连续的内存空间

序列中存储的是整数对象的地址,而不是整数对象的值

列表:用于存储任意数目,任意类型的数据集合

列表是内置可变序列,是包含多个元素的有序连续的内存空间

列表中的元素各不相同,可以是任意类型

Python的列表大小可变,根据需要随时增加或缩小

方法

描述

list.append(x)

将元素x增加到列表尾部

list.extend(alist)

将列表alist所有元素加到列表list尾部

list.insert(index,x)

在列表指定位置插入元素

list.remove(x)

在列表删除首次出现的指定元素

list.pop([index])

删除并返回列表指定index处的元素,默认为最后一个元素

list.clear()

删除列表所有元素,不是删除列表对象

list.index(x)

返回第一个x的索引位置,若不存在则抛出异常

list.count(x)

返回指定元素在列表中出现的次数

list.reverse()

所有元素原地翻转

list.sort()

所有元素原地排序

列表的创建:

基本语法【】创建:

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

b=[] #创建一个空列表对象

print(a) >>>[1,2,3,4,5]

list()创建:

使用list()可以将任何可迭代的数据转化成列表

a=list(range(5))

print(a) >>>[0,1,2,3,4]

range()创建整数列表:

range(start,end,step)

range()返回的是一个range对象,而不是列表,需要通过list()将其转换成列表对象

推导式生成列表:

#循环创建多个元素【0,2,4,6,8】

a=[x*2 for x in range(5)]

#通过if过滤元素

b=[x*2 for x in range(100) if x%9==0]

列表元素的添加:

append()方法:原地修改列表,在列表尾部添加元素

+运算符操作:创建新的列表对象,将原列表的元素和新列表的元素依此复制到新的列表对象中,会涉及大量的复制操作

extend()方法:将目标列表所有元素添加到本列表的底部,属于原地操作,不创建新的列表对象

Insert()插入元素:将指定元素插入到列表对象的任意位置,但是会让后面的元素进行移动,会影响处理速度

乘法扩展:使用乘法扩展列表,生成一个新列表,新列表元素是原列表元素的多次重复

列表元素的删除:

底层是元素的拷贝

pop():删除并返回指定位置元素,默认为最后一个元素

a = [1, 2, 3, 4]

b = a.pop()

print(a, b) #[1, 2, 3]  4

c = a.pop(1)

print(a, c) #[1, 3]  2

remove():删除首次出现的指定元素,若不存在该元素则抛出异常

a = [1, 2, 3, 2, 4]

a.remove(2)

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

a = [1, 2, 3, 2, 4]

a.remove(5)

print(a) #报错:ValueError: list.remove(x): x not in list

del():删除列表指定未知的元素:

a = [1, 2, 3, 2, 4]

del a[2]

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

列表元素访问和计数:

索引直接访问元素:

索引的区间在【0,列表长度-1】这个范围,超过这个范围会抛出异常

a=[1,2,3,4,5,6]

print(a[2]) #3

print(a[10]) #IndexError: list index out of range

index()获取指定元素在列表中首次出现的索引:

语法是:【value,start,end】,start和end指定了搜索的范围

a = [1, 2, 3, 2, 4]

b=a.index(2)

c=a.index(2,2)

d=a.index(2,2,4)

print(b) #1

print(c) #3

print(d) #3

count()获取指定元素在列表中出现的次数:

a = [1, 2, 3, 2, 4]

b=a.count(2)

print(b) #2

成员资格判断:

判断列表中是否存在指定的元素,使用in关键字来判断,返回True和False

切片slice操作适用于列表,元组,字符串等

列表的遍历:

a = [1, 2, 3, 2, 4]

for i in a: #i是临时变量

    print(i)

复制列表元素到新列表对象:

a = [1, 2, 3, 2, 4]

b=[]+a #生成了新列表对象

列表排序(修改原列表,不建立新列表的排序):升序排序,降序排序,打乱排序

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

a.sort() #默认是升序排序

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

a.sort(reverse=True) #默认是降序排序

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

import random

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

random.shuffle(a) #打乱顺序

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

建新列表的排序:

通过内置函数sorted()进行排序,返回新列表,对原列表不做修改

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

b = sorted(a)

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

c = sorted(a, reverse=True)

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

reversed()返回迭代器:

内置函数reversed()也支持逆序排列,不对原列表做任何修改,只是返回一个逆序排列的迭代器对象

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

b=reversed(a)

print(b) #<list_reverseiterator object at 0x0000000002779610>一个迭代器对象

c=list(b)

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

d=list(b)

print(d) #[]迭代对象在第一次时已经遍历结束了,第二次不能使用

max和min:用于返回列表中的最大值和最小值

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

print(max(a)) #5

print(min(a)) #1

sum:对数值型列表所有元素进行求和操作,对非数值型列表运算会被报错

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

print(sum(a)) #15

a = [‘1’, ‘2’,’5’, ‘3’, ‘4’]

print(sum(a)) #报错:TypeError: unsupported operand type(s) for +: 'int' and 'str'

多维列表:

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

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

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

for i in range(3):

    for j in range(5):

        print(a[i][j], end='\t')

print() #打印完一行,换行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值