List 列表基础用法

List 列表基础用法

列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。

列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

列表的语法格式:

:::info

变量[头下标:尾下标]

:::

索引值以 0 为开始值,-1 为从末尾的开始位置

python 复制代码
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']

print (list)            # 输出完整列表
print (list[0])         # 输出列表第一个元素
print (list[1:3])       # 从第二个开始输出到第三个元素
print (list[2:])        # 输出从第三个元素开始的所有元素
print (tinylist * 2)    # 输出两次列表
print (list + tinylist) # 连接列表

# python 字符串列表中的元素是可以改变的
a = [1,2,3,4,5,6]
a[0] = 9
a[2:5]=[13,14,15]
print(a)
# [9, 2, 13, 14, 15, 6]
a[2:5] = []  # 将对应的元素值设置为 []
print(a)
# [9, 2, 6]

"""
1、List写在方括号之间,元素用逗号隔开
2、和字符串一样,List可以被索引和切片
3、List可以使用+操作符进行拼接
4、List的元素可以改变
5、Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串:
"""
a = [9, 2, 13, 14, 15, 6]
print(a[1:5:2])  # [2, 14]

"""
6、如果第三个参数为负数表示逆向读取,以下实例用于翻转字符串:
"""

def reverseWords(input):
    # 通过空格将字符串分隔符,把各个单词分隔为列表
    inputWords = input.split(" ")
    # 翻转字符串
    # 假设列表 list = [1,2,3,4],
    # list[0]=1, list[1]=2 ,而 -1 表示最后一个元素 list[-1]=4 ( 与 list[3]=4 一样)
    # inputWords[-1::-1] 有三个参数
    # 第一个参数 -1 表示最后一个元素
    # 第二个参数为空,表示移动到列表末尾
    # 第三个参数为步长,-1 表示逆向
    inputWords = inputWords[-1::-1]
    # 重新组合字符串
    output = " ".join(inputWords)
    return  output

if __name__ == "__main__":
    input = "do you love me @ nana"
    rw = reverseWords(input)
    print(rw)

list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1)

list = ['Google', 'Runoob', 1997, 2000]

print("原始列表 : ", list)
del list[2]
print("删除第三个元素 : ", list)

列表基本操作

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 迭代

嵌套列表

python 复制代码
>>>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 复制代码
# 导入 operator 模块
import operator

a = [1, 2]
b = [2, 3]
c = [2, 3]
print("operator.eq(a,b): ", operator.eq(a,b))
print("operator.eq(c,b): ", operator.eq(c,b))

# 输出结果
operator.eq(a,b):  False
operator.eq(c,b):  True

python列表函数和方法

序号 函数 描述
1 len(list) 列表元素个数
2 max(list) 返回列表元素最大值
3 min(list) 返回列表元素的最小值
4 list(seq) 将元组转换为列表
5 list.append(obj) 在列表末尾添加新的对象
6 list.count(obj) 统计某个元素在列表中出现的次数
7 list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
8 list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
9 list.insert(index, obj) 将对象插入列表
10 list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
11 list.remove(obj) 移除列表中某个值的第一个匹配项
12 list.reverse() 反向列表中元素
13 list.clear() 清空列表
14 list.copy() 复制列表
相关推荐
李少兄2 分钟前
【Java基础】Java集合遍历方式
java·开发语言·windows
@正在学习驰骋的小马8 分钟前
一、小白如何用Pygame制作一款跑酷类游戏(成品展示+添加背景图和道路移动效果)
python·游戏·pygame
KENYCHEN奉孝34 分钟前
一个基于Django的写字楼管理系统实现方案
数据库·python·django·sqlite
alpha xu1 小时前
LLM中的N-Gram、TF-IDF和Word embedding
人工智能·python·语言模型·自然语言处理·sklearn·word2vec
x-cmd1 小时前
[250416] GitHub Action 新升级,支持 Windows on Arm
arm开发·windows·github·github action
.m6 小时前
5款电脑健康状况监测软件
windows
失去妙妙屋的米奇8 小时前
matplotlib数据展示
开发语言·图像处理·python·计算机视觉·matplotlib
搞不懂语言的程序员8 小时前
备忘录模式深度解析与实战案例
数据库·python·备忘录模式
爱的叹息9 小时前
关于 JDK 中的 jce.jar 的详解,以及与之功能类似的主流加解密工具的详细对比分析
java·python·jar
Lhuu(重开版9 小时前
2025第十六届蓝桥杯PythonB组部分题解
python