Python 基础2 - 列表
Posted dazhi-blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 基础2 - 列表相关的知识,希望对你有一定的参考价值。
引言
列表
list
是由一系列按照特定顺序排列的元素组成的,它是一种有序的数据集合。
你可以添加任何类型的元素到列表中,其中的元素之间可以没有任何关系。
列表简介
Python 使用方括号
[]
来定义列表,列表中的每个值称为元素。
每个元素之间用逗号,
分割开,每个元素都有自己唯一的索引值。
索引值分上标索引和下标索引,下标索引从0
开始,上标索引从-1
开始。
你可以理解为:下标索引 = 正序索引,上标索引 = 倒序索引
创建列表
一般将创建的列表赋给一个变量,因此给变量取个有意义的名字是个不错的注意
打印列表时,会将方括号[]
也打印出来
如果你想定义一个空列表可以直接使用方括号 []
而不在里面传值
定义一个人员列表,如下示例。
persons = ['张三','李四','王五','赵六','钱七','孙八']
print(persons)
# 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八']
列表取值
列表有两种取值方式,1.按索引号取值 2.范围取值(切片)
按索引号取值
在列表变量后面加上方括号 []
里面传入元素的索引号,如下示例
persons = ['张三','李四','王五','赵六','钱七','孙八']
print(persons[0])
# 运行结果:张三
范围取值
范围取值只需在方括号内传入两个参数,即 [开始索引:结束索引]
Python 遵循左闭右开原则,即包含左边的而不包含右边的,所以实际取到的最后一个值是 结束索引-1。
列表范围取值
例如取值 1~3 位置的元素,实际只取值到 1~2 位置的元素,如下示例
persons = ['张三','李四','王五','赵六','钱七','孙八']
print(persons[0:3])
# 运行结果:['张三', '李四', '王五']
范围取值指定步长
范围取值可以指定步长,只需传入3个参数,即 [开始索引:结束索引:指定步长]
如果你想范围取值的时候隔一个或N个元素取值,指定步长是个不错的注意。
# 隔一个元素取值
persons = ['张三','李四','王五','赵六','钱七','孙八']
print(persons[0:5:2])
# 运行结果:['张三', '王五', '钱七']
新增
列表的新增操作
在指定位置插入元素 insert()
# 插入元素
persons = ['张三','李四','王五','赵六','钱七','孙八']
persons.insert(6,'杨九')
print(persons)
# 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九']
方法在列表末尾追加元素 append()
# 在末尾追加元素
persons = ['张三','李四','王五','赵六','钱七','孙八']
persons.append('杨九')
print(persons)
# 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九']
在列表末尾追加多个元素 extend()
使用
extend()
方法在末尾同时追加多个元素
# 同时在末尾追加多个元素
persons = ['张三','李四','王五','赵六','钱七','孙八']
persons.extend(['杨九','吴十'])
print(persons)
# 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
删除
列表的删除操作
按索引号弹出元素 pop()
pop()
有返回值,弹出的元素可以保存到一个新的变量中,以便下次使用,也可以不保存,不保存就是删除
以下示例中很好的体现了 pop()
弹出的元素能够保存到另一个变量中
persons = ['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
persons2 = persons.pop(0)
print(persons) # 运行结果:['李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
print(persons2) # 运行结果:张三
按元素名称移除元素 remove()
值得注意的是,如果列表中存在多个相同的元素,
remove()
方法只会移除正序索引遇到的第一个元素,如果想移除全部可以使用遍历
persons = ['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
persons.remove('张三')
print(persons) # 运行结果:['李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
删除元素 del
del 是Python的语句,而不是列表
list
的方法,del是传入索引号删除的,但没有返回值
persons = ['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
del persons[0]
print(persons) # 运行结果:['李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
其他
列表的一些其他使用方法
len()
函数
使用
len()
函数看列表共有几个元素
persons = ['张三','李四','王五','赵六','钱七','孙八']
print( len(persons) ) # 运行结果:6
count()
函数
使用
count()
方法查看元素在列表中出现几次
# 获取元素 李四 在列表中出现几次
persons = ['张三','李四','王五','李四','赵六','钱七','孙八']
cnt = persons.count('李四')
print(cnt) # 运行结果:2
使用 index()
函数查看元素索引号
index()
方法只返回遇到的第一个符合条件的元素,如果有多个重复的元素名称需要使用遍历
如下示例,查看元素 ”李四“ 的索引号时只返回遇到的第一个元素
persons = ['张三','李四','王五','李四','赵六','钱七','孙八']
print( persons.index('李四') )
# 运行结果:1
遍历获取 “李四” 的索引号,如下示例
persons = ['张三','李四','王五','李四','赵六','钱七','孙八']
i = 0
for p in persons:
if p == '李四':
print(i,end='\t')
i += 1
# 运行结果:1 3
分割列表 split()
将字符串数据按特定规则分割成列表
例如以下示例, persons
变量中存储的字符串,每个人员用逗号 ,
分割开,使用 split()
方法可以让其分割成列表
persons = '张三,李四,王五,赵六,钱七,孙八,杨九,吴十'
persons_list = persons.split(',')
print(persons_list)
# 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
使用 copy()
方法复制列表
复制出来的列表是一份独立全新的数据,更改原列表内容不会影响复制的列表
# 复制列表
persons = ['张三' , '李四' , '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
persons2 = persons.copy()
persons.remove('李四')
print(persons) # 运行结果:['张三', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
print(persons2) # 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
成员运算符 in
判断数据是否存在列表中
# 使用成员运算符判断张三是否存在 `persons` 列表中
persons = ['张三' , '李四' , '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
persons2 = '张三'
print(persons2 in persons)
# 运行结果:True
身份运算符 is
判断两个变量是否使用同一内存地址,是否指向同一块内存空间
persons = ['张三' , '李四' , '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
persons2 = persons.copy()
persons3 = persons
print(persons2 is persons) # 运行结果:False
print(persons3 is persons) # 运行结果:False
清空列表内容 clear()
以下清空列表示例中很好的展示了
copy()
出来的数据是一块独立全新的数据,清空persons
列表的内容对它丝毫不受影响
persons = ['张三' , '李四' , '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
persons2 = persons.copy()
persons3 = persons
persons.clear()
print(persons)
print(persons2)
print(persons3)
'''
运行结果:
[]
['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
[]
'''
以上是关于Python 基础2 - 列表的主要内容,如果未能解决你的问题,请参考以下文章