Python列表

2023-12-18 16:33:00

含义

list(列表)专门用于存储一串信息,可以存储不同类型的数据

定义

用?[]?定义,数据?之间使用?,?分隔;

索引

索引?从?0?开始,是数据在?列表?中的位置编号,又可以被称为下标;在其他语言中通常叫数组

创建?

把逗号分隔的不同的数据项使用方括号括起来

list1 = ['Google', 'Runoob', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']

列表常用方法、关键字、函数

通过 dir(list)函数 查看某类型中定义的?法

取值

列表索引从?0?开始,第二个索引是?1,依此类推。通过索引列表可以进行截取、组合等操作。

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
print( list[1] )
print( list[2] )

out:
red
green
blue

索引也可以从尾部开始,最后一个元素的索引为?-1,往前一位为?-2,以此类推

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[-1] )
print( list[-2] )
print( list[-3] )

out:
black
white
yellow

取索引?

返回某个元素在理表中的索引,元素在列表中多次出现,只返回第一次出现的元素的索引Python3 List index()方法 | 菜鸟教程

print(name_list.index("wangwu"))

修改

name_list = ["zhangsan", "lisi", "wangwu"]
name_list[1] = "李四"

增加

# append 方法可以向列表的末尾追加数据
name_list.append("王小二")

# insert 方法可以在列表的指定索引位置插入数据,两个参数,索引和要插入的元素
name_list.insert(1, "小美眉")

a = [1, 2, 3]
# extend 方法向列表中添加多个元素,入参为一个可遍历的对象
#字符串
a.extend('hello')
#列表
a.extend([11, 22, 33])
# 对于字典来说是把字典的值添加到列表里面
a.extend({'name': 'tom', 'age':29})

删除

# remove 方法可以从列表中删除第一次出现的指定的数据
name_list.remove("wangwu")
# 删除指定索引的变量
del(list1[4])
# pop 方法默认可以把列表中最后一个元素删除
name_list.pop()
# pop 方法可以指定要删除元素的索引
name_list.pop(3)
# clear 方法可以清空列表
name_list.clear()
name_list = ["张三", "李四", "王五"]

# (知道)使用 del 关键字(delete)删除列表元素
# 提示:在日常开发中,要从列表删除数据,建议使用列表提供的方法
del name_list[1]
# del 关键字本质上是用来将一个变量从内存中删除的
name = "小明"
del name
# 注意:如果使用 del 关键字将变量从内存中删除
# 后续的代码就不能再使用这个变量了
print(name)
print(name_list)

?数据统计

name_list = ["张三", "李四", "王五", "王小二", "张三"]

# len(length 长度) 函数可以统计列表中元素的总数
list_len = len(name_list)
print("列表中包含 %d 个元素" % list_len)

# count 方法可以统计列表中某一个数据出现的次数
count = name_list.count("张三")
print("张三出现了 %d 次" % count)

print(name_list)

排序

name_list = ["zhangsan", "lisi", "wangwu", "wangxiaoer"]
num_list = [6, 8, 4, 1, 10]

# 升序
# name_list.sort()
# num_list.sort()

# 降序
# name_list.sort(reverse=True)
# num_list.sort(reverse=True)

# 逆序(反转)
name_list.reverse()
num_list.reverse()

print(name_list)
print(num_list)

Python List sort()方法 | 菜鸟教程

复制

函数:copy()

name_list = ['Tom', 'Lily', 'Rose']
name_li2 = name_list.copy()
# 结果:['Tom', 'Lily', 'Rose']
print(name_li2)

?拆包

拆包就是把列表中的每个值拆出来,拆包操作同样适用与元组、集合、字典;

list1 = ['关羽', '张飞', '刘备']
# a = list1[0]
# b = list1[1]
# c = list1[2]
a, b, c = list1   # 等号左边的变量数量要和等号右边的列表成员数量匹配
print(a, b, c)

拓展

多个变量赋值
Python允许你同时为多个变量赋值。例如:
a = b = c = 1
以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。
您也可以为多个对象指定多个变量。例如:
a, b, c = 1, 2, "john"
以上实例,两个整型对象 1 和 2 分别分配给变量 a 和 b,字符串对象 "john" 分配给变量 c

拓展:关键字、函数和方法?

  • 关键字?是 Python 内置的、具有特殊意义的标识符,关键字后面不需要使用括号
  • 函数?封装了独立功能,可以直接调用;函数名(参数)
  • 方法?和函数类似,同样是封装了独立的功能;需要通过?对象?来调用,表示针对这个?对象?要做的操作;对象.方法名(参数)?

?列表推导式

作用:快速生成成员数据量庞大的列表

语法:

列表变量名 = [x for x in range (开始值,结束值,步长)]

列表变量名 = [x for x in range (开始值,结束值,步长) if 条件]

例子:

1. 基本的?式

  • a = [x for x in range(4)]????????# a 的内容为[0, 1, 2, 3]
  • a = [x for x in range(2, 4)]????????# a 的内容为[2, 3]
  • a = [x for x in range(3, 10, 2)]?????????# a 的内容为[3, 5, 7, 9]

2. 在推导过程中使?if

  • a = [x for x in range(3, 10) if x % 2 == 0]????????# a 的内容为[4, 6, 8]
  • a = [x for x in range(3, 10) if x % 2 != 0]????????# a 的内容为[3, 5, 7, 9] ?

?列表嵌套

所谓列表嵌套指的就是?个列表??包含了其他的?列表。

例:

要存储班级?、?、三三个班级学?姓名,且每个班级的学?姓名在?个列表

# 查找到数据"李四"
name_list = [['?明', '?红', '?绿'], ['Tom', 'Lily', 'Rose'], ['张三', '李四',
'王五']]
# 第?步:按下标查找到李四所在的列表
print(name_list[2])
# 第?步:从李四所在的列表??,再按下标找到数据李四
print(name_list[2][1])

文章来源:https://blog.csdn.net/weixin_45490820/article/details/134978895
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。