Python——序列结构-列表

序列结构

一、 python序列概述

  • Python 序列是用来存储大量数据的容器类结构,类似其它语言中的数组。
  • Python中常用的序列结构有:列表、元组、字典、集合,字符串等。

1、列表list

  • 在形式上所有元素放在一对方括号[]中,相邻元素之间使用逗号分隔。

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

  • 同一个列表中元素的数据类型可以各不相同。

    eg:[1,’a ’,2,3[10,20]]

  • 如果只有一对方括号而没有任何元素则表示空列表。

    eg:[]

2、列表的创建

  • ① 使用“=”直接将一个列表赋值给变量。
#列表的创建一
a_list ['a','b','python','z','example']
b_list = [] #创建空列表
  • ② 使用list()函数把range对象、字符串等可迭代对象转换为列表。
#列表的创建一
c_list = list(range(10))#使用list()内置函数
d_list = list('hello')
print(c_list) #[0,1,2,3,4,5,6,7,8,9]
print(d_list) #['h','e','l','l','o']

二、访问列表中的值

  • 与字符串的索引一样,列表索引从 0 开始,第二个索引是 1,依此类推。通过索引列表可以进行截取、组合等操作。
    eg:
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
print( list[1] )
print( list[2] )

以上实例输出结果:

red
green
blue
  • 索引也可以从尾部开始,最后一个元素的索引为 -1,往前一位为 -2,以此类推。
    eg:
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[-1] )
print( list[-2] )
print( list[-3] )

以上实例输出结果:

black
white
yellow
  • 使用下标索引来访问列表中的值,同样你也可以使用方括号 [] 的形式截取字符,如下所示:
    eg:
nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[0:4])

以上实例输出结果:

[10, 20, 30, 40]
  • 使用负数索引值截取:
    eg:
list = ['Google', 'Runoob', "Zhihu", "Taobao", "Wiki"] 
# 读取第二位
print ("list[1]: ", list[1])
# 从第二位开始(包含)截取到倒数第二位(不包含)
print ("list[1:-2]: ", list[1:-2])

以上实例输出结果:

list[1]:  Runoob
list[1:-2]:  ['Runoob', 'Zhihu']

三、更新列表

  • 可以对列表的数据项进行修改或更新,也可以使用 append() 方法来添加列表项,如下所示:
list = ['Google', 'Runoob', 1997, 2000]
print ("第三个元素为 : ", list[2])
list[2] = 2001
print ("更新后的第三个元素为 : ", list[2])

以上实例输出结果:

第三个元素为 :  1997
更新后的第三个元素为 :  2001

四、删除列表元素

  • 可以使用 del 语句来删除列表的的元素,如下所示:
list = ['Google', 'Runoob', 1997, 2000]
print ("原始列表 : ", list)
del list[2]
print ("删除第三个元素 : ", list)

以上实例输出结果:

原始列表 :  ['Google', 'Runoob', 1997, 2000]
删除第三个元素 :  ['Google', 'Runoob', 2000]
  • pop() 删除指定位置上的元素(默认是最后一个) 如下所示:
L4 = [6,7,8,9,10]
L4.pop(1) #索引下标为1的位置上的元素被删除
print(L4)
>>>[6,8,9,10] #7被删除
L3 = [6,7,8,9,10]
L3.pop() #不指定位置是默认删除列表中尾部元素
print(L3)
>>>[6,7,8,9] 
  • remove()删除列表中第一个值与指定值相等的元素。 如下所示:
L5 = [1,2,1,1,12]
L3.remove(2) 
print(L5)
>>>[1,1,1,2] #列表中首次出现的数字2被删除

五、列表推导式

  • 逻辑上等价于一个循环语句,可以对列表进行遍历、过滤或再次计算,快速生成满足特定需求的新列表。
  • 语法:
    [express for expr1 in sequence1 if condition1]
    工作原理: for循环后面跟的if判断语句,用于过滤掉那些不满足条件的结果项。
    eg1:
print([i for i in range(10)]) #生成列表[0,1,2,3...9]

eg2:

print([i for i in range(10) if i%2==0]) #输出0-9之间的偶数

eg3:

fruit = [' banana ','apple  ',' peach']
f1 = [i.strio() for i in fruit] #去除fruit中元素两边的空格
print(f1)
>>>#['banana','apple','peach']

六、Python列表脚本操作符

  • 列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
Python 表达式结果描述
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, end=" ")1 2 3迭代

七、嵌套列表

  • 使用嵌套列表即在列表里创建其它列表。
>>>a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'

八、Python列表函数&方法

Python包含以下函数:

序号函数描述
1len(list)列表元素个数
2max(list)返回列表元素最大值
3min(list)返回列表元素最小值
4list(seq)将元组转换为列表

Python包含以下方法:

序号方法描述
1list.append(obj)在列表末尾添加新的对象
2list.count(obj)统计某个元素在列表中出现的次数
3list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表
4list.index(obj)从列表中找出某个值第一个匹配项的索引位置
5list.insert(index, obj)将对象插入列表
6list.pop([index=-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7list.remove(obj)移除列表中某个值的第一个匹配项
8list.reverse()反向列表中元素
9list.sort( key=None, reverse=False)对原列表进行排序
10list.clear()清空列表
11list.copy()复制列表
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值