Python学习笔记八(序列之列表)

序列

列表(list)

列表是python中的一个对象
对象(Object)就是内存中专门用来存储数据的一块区域。
对象只能存储一个单一的数据,列表可以存储多个有序的数据。

创建列表:

#使用[]创建列表,
list1 = []
一个列表中可以存储多个元素,且可以在创建列表时指定列表中的元素。
列表中有多个元素,使用英文,隔开

list2 = ['苹果','香蕉','葡萄','橙子']
print(list2) 

[‘苹果’, ‘香蕉’, ‘葡萄’, ‘橙子’]

注:列表是可以保存任意对象的
如:

list3 = [1,'列表',True,None,[1,2],print]
print(list3) 

[1, ‘列表’, True, None, [1, 2], ]

列表是有序的,按照先后插入顺序依次保存。

获取列表中的元素

列表中每一个存储的对象,列表都会为其分配一个索引,默认索引值从0开始。
获取list2中的元素葡萄

print(list2[2]) 

葡萄

注:当获取列表中不存在的索引时,则会抛出异常
如:

print(list2[4]) 

list index out of range 超出列表的索引范围

获取列表的长度

获取列表的元素个数使用len()函数,既:列表的长度 - 1 就是列表的最大索引

print(len(list2))

4

注:由此可以得到list2的最大索引值为 4 - 1 ----> 3

遍历列表

方法一:

for i in list2 :
	print('索引值:%s 索引对应值: %s' % (list2.index(i),i))

索引值:0 索引对应值: 苹果
索引值:1 索引对应值: 香蕉
索引值:2 索引对应值: 葡萄
索引值:3 索引对应值: 橙子

方法二:

for i in range(0,len(list2)):
	print('索引值: %s 索引对应值: %s' % (i,list2[i]))

索引值: 0 索引对应值: 苹果
索引值: 1 索引对应值: 香蕉
索引值: 2 索引对应值: 葡萄
索引值: 3 索引对应值: 橙子

方法三:

for i,val in enumerate(list2) :
	print('索引值: %s 索引对应值: %s' % (i,val))

索引值: 0 索引对应值: 苹果
索引值: 1 索引对应值: 香蕉
索引值: 2 索引对应值: 葡萄
索引值: 3 索引对应值: 橙子

设置遍历开始初始位置,只改变初始索引值

for i,val in enumerate(list2,3) :
	print('索引值: %s 索引对应值: %s' % (i,val))	

索引值: 3 索引对应值: 苹果
索引值: 4 索引对应值: 香蕉
索引值: 5 索引对应值: 葡萄
索引值: 6 索引对应值: 橙子

在此说一下查看函数方法,使用help(‘FunctionName’)

help('len')
Help on built-in function len in module builtins:

len(obj, /)
    Return the number of items in a container.

删除列表元素

使用del可以删除列表的元素,语法: del list_XXX[index]

list4 = ['奥迪','宝马','奔驰']
print(list4)
del list4[2]
print('删除索引为2的list值:',list4)

[‘奥迪’, ‘宝马’, ‘奔驰’]
删除索引为2的list值: [‘奥迪’, ‘宝马’]

切片

切片指从现有列表中,获取一个子列表
创建一个列表,一般变量名会使用复数

fruits = ['苹果','香蕉','葡萄','橙子']

列表的索引可以实复数,如果索引为负数,则从后向前获取元素,-1表示倒数第一个,依次类推。

print(fruits[-1])

橙子

通过切片获取指定元素

语法:列表[起始:结束]

通过切片获取元素时,会包括起始位置元素,但不包括结束位置元素,总会返回一个新的列表

print(fruits[1:3]) 

[‘香蕉’, ‘葡萄’]

注:如果省略开始位置,则从第一个位置截取到指定的结束位置元素。如果省略结束位置,则从指定开始位置元素截取至列表的最后一个元素。若省略开始位置与结束位置,则截取全部元素。

print(fruits[1:])
print(fruits[:2])
print(fruits[:])

[‘香蕉’, ‘葡萄’, ‘橙子’]
[‘苹果’, ‘香蕉’]
[‘苹果’, ‘香蕉’, ‘葡萄’, ‘橙子’]

步长表示,每次获取元素的间隔,默认值为1

语法:列表[起始位置:结束位置:步长]
print(fruits[1:3:2])

[‘香蕉’]

注:步长值不能为0,但可以为负数

print(fruits[1:3:0]) 

slice step cannot be zero

如果为负数,从列表的后部向前取元素

print(fruits[::-1])

‘橙子’, ‘葡萄’, ‘香蕉’, ‘苹果’]

+ 与 *

list5 = ['奔驰','宝马','奥迪','丰田','红旗']

+ 可以将对列表进行拼接

list6 = list5 + ['吉利','哈佛']
print(list6)

[‘奔驰’, ‘宝马’, ‘奥迪’, ‘丰田’, ‘红旗’, ‘吉利’, ‘哈佛’]

* 可以指定列表重复的次数

print(list5 * 3)

[‘奔驰’, ‘宝马’, ‘奥迪’, ‘丰田’, ‘红旗’, ‘奔驰’, ‘宝马’, ‘奥迪’, ‘丰田’, ‘红旗’, ‘奔驰’, ‘宝马’, ‘奥迪’, ‘丰田’, ‘红旗’]

in 与 not in

list7 = ['赵','钱','孙','李']

in 检查指定元素是否存在于列表,存在返回True,否则返回False

print('赵' in list4)
print('吴' in list4)

True
False

not in 检查指定元素是否不存在于列表中,存在返回False,否则返回True

print('赵' not in list4)
print('吴' not in list4)

False
True

列表函数

函数名用途返回值
max(list)返回列表元素最大值返回列表元素中的最大值
min(list)返回列表元素最小值返回列表元素中的最小值
list(str)将元组或字符串转换为列表,str – 要转换为列表的元组或字符串返回列表

列表方法

方法名用途语法参数说明返回值
lappend()在列表末尾添加新的对象list.append(obj)obj – 添加到列表末尾的对象无返回值,但是会修改原来的列表
count()统计某个元素在列表中出现的次数list.count(obj)obj – 列表中统计的对象返回元素在列表中出现的次数
extend()用于在列表末尾一次性追加另一个序列中的多个值list.extend(seq)seq – 元素列表,可以是列表、元组、集合、字典,若为字典,则仅会将键(key)作为元素依次添加至原列表的末尾。没有返回值,但会在已存在的列表中添加新的列表内容
index()从列表中找出某个值第一个匹配项的索引位置list.index(obj)obj – 查找的对象。返回查找对象的索引位置,如果没有找到对象则抛出异常
insert()用于将指定对象插入列表的指定位置list.insert(index, obj)index – 对象obj需要插入的索引位置。
obj – 要插入列表中的对象。
没有返回值,但会在列表指定位置插入对象
pop()移除列表中的一个元素(默认最后一个元素),并且返回该元素的值list.pop([index=-1])index – 可选参数,要移除列表元素的索引值,不能超过列表总长度,默认为 index=-1,删除最后一个列表值返回从列表中移除的元素对象。
remove()移除列表中某个值的第一个匹配项list.remove(obj)obj – 列表中要移除的对象。没有返回值但是会移除列表中的某个值的第一个匹配项。
reverse()反向列表中元素list.reverse()没有返回值,但是会对列表的元素进行反向排序
sort()对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数list.sort( key=None, reverse=False)key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)
没有返回值,但是会对列表的对象进行排序
clear()清空列表,类似于 del a[:]list.clear()没有返回值
copy()复制列表,类似于 a[:]list.copy()返回复制后的新列表

此列表参考菜鸟教程

JavaWeb工作笔记

注:本文仅用于个人学习记录,如有错误之处希望大家多多指正,共同进步。|

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值