当前位置: 首页 > article >正文

python列表基础知识

列表

创建列表

1.列表的定义:可变的,有序的数据结构,可以随时添加或者删除其中的元素

2.基本语法:字面量【元素1,元素2,元素3】==使用[]创建列表

定义变量:变量名称【元素1,元素2,元素3】

定义空变量:变量名称:【】;变量名称=list【】

列表里的每一个数据称之为数据,以[ ]作为标识,列表内每一个元素之间用逗号隔开,甚至元素本身也可以是列表,这样就够成了嵌套列表,列表可以存储多种数据

name_list1=[[‘red’,’green’],[‘blue’,’white’],name1_list]

列表可以将元素修改数据类型

3.使用list()函数,创建(转换为)列表:

this_list = list(('apple', 'banana', 'cherry'))

注意:在使用 list() 函数创建列表时,一定要注意双括号

##访问列表

列表的下标索引:

从前往后从0开始,依次递增;也可以反向索引,从后往前-1,-2,-3

name_list=[‘Tom’,’Lily’,’Rose’]

print(name_list[0])------Tom

print(name_list[-2])----Lily

如果列表是嵌套的列表,同样支持下标索引

my_list=[[1,2,3],[44,5,6]]

print(my_list2[1][1])第一个下标是确定是列表[123],再根据第二个下标取出元素

取值的时候不能发生越界,否则会报错

列表切片

语法:list_name[start: end :step]

list_name = ['wzq', 'lgl', 'gz', 'whl', 'sj', 'hxw']
print(list_name[1:5:2])
print(list_name[-6:-1:3])
>>>最后的结果是:['lgl', 'whl']
['wzq', 'whl']

while 循环

  • 元素访问方式 : 使用 下标索引 访问 列表中的元素 ;

  • 循环控制 :

    循环控制变量 :用于指示当前循环的 下标索引 ;

    循环条件 :设置为 循环控制变量 ( 下标索引 ) < 列表长度 ;

    • # 循环控制变量定义 对应下标索引
      index = 0
      while index < len(列表变量):
      	# 使用 下标索引 取出列表元素, 使用变量接收列表元素
      	变量 = 列表变量[index]
      	# 处理元素
      	# 下标索引变量 ( 循环控制变量 ) 自增 1 
      	index += 1
      
      

for循环遍历列表

fruit_list = ['apple', 'pear', 'cherry']
for i in fruit_list:
    print(i)
>>>apple
pear
cherry

检查项目是否存在

使用in关键字:

# 检查列表中是否存在'apple'
fruit_list = ['apple', 'pear', 'cherry']
print('apple' in fruit_list)
>>>结果:True

##更改列表值(追加,插入,删除)

(1)创建列表后,可以直接对列表中的数据项进行修改或者是更新

fruit_list = ['apple', 'pear', 'cherry']
fruit_list[2] = 'banana'
print(fruit_list)
>>>['apple', 'pear', 'banana']
内置方法

(2)列表.append(元素):向列表中追加一个元素

mylist=[“itCSDN”,”itlove”,”python”]
mylist.append(“CSDN程序员”)
print(f”列表再追加了元素之后,结果是:{mylist}”)
<<<最终的结果是:[‘itCSDN’,’itlove’,’python’,’CSDN程序员’]

(3)列表.insert(下标,元素)在指定下标处,插入指定的元素

语法:list.insert(position, element)

mylist=[“itCSDN”,”itlove”,”python”]
mylist.insert(1,“best”)
print(f”列表插入元素之后,结果是{mylist})
>>>最后的结果是:[“itCSDN”,“best”,”itlove”,”python”]

append()只能在末尾处添加元素或者是列表,insert()可以在任意位置添加元素或者是列表

(4)列表.extend(容器):将数据容器的内容依次取出,追加到列表尾部,依次添加(用列表扩展原来的列表)

mylis1t=[“itCSDN”,”itlove”,”python”]
mylist2=[1,2,3]
mylist1.extend(mylist2)
print(f”列表在追加了一个个新的列表之后,结果是{mylist1})
<<<最后的结果是[‘itCSDN’,’itlove’,’python’,1,2,3]
aver = ['A', 'B', 'C']
str1 = 'Hello'
aver.extend(str1)
print(aver)
>>>['A', 'B', 'C', 'H', 'e', 'l', 'l', 'o']

在 Python 中,list.extend() 方法用于将一个可迭代对象(如字符串、列表等)的所有元素添加到列表的末尾。当你将一个字符串传递给 extend() 方法时,字符串会被视为一个可迭代对象,因此它会将字符串中的每个字符作为单独的元素添加到列表中。

(5) del列表[下标]:删除列表指定下标元素或者删除整个列表

mylist=[“itCSDN”,”itlove”,”python”]
del mylist[2]
print(f”列表删除的元素之后的结果是:{mylist}”)
>>>最后的结果是[“itCSDN”,”itlove”]
list_de = ['Baidu', 'Alibaba', 'Tencent', 'Bytedance']
del list_de
>>>再次打印输出会发生报错,表明该列表未被定义

(6)列表.pop(下标pos):删除列表指定下标元素,pos可选,指定需要删除元素 的位置,默认值为-1,即默认删除最后的元素

fruits = ['apple', 'banana', 'cherry']
fruits.pop()
print(fruits)
>>>['apple', 'banana']
fruits = ['apple', 'banana', 'cherry']
fruits.pop(1)
print(fruits)
>>>['apple', 'cherry']
mylist=[“itCSDN”,”itlove”,”python”]
element=list。pop(2)
print(f”通过pop的方法取出元素后的列表内容是:{mylist},取出的元素是:{element})
>>>最后的结果是:[“itCSDN”,”itlove”],取出的元素是python

pop与del的区别是不但能把元素删掉,还能把删除元素作为返回值得到

(7)列表.remove(元素):删除元素的第一个匹配项

mylist=[“itCSDN”,”itlove”,”python”]
mylist.remove(“itlove”)
print(f”通过remove方法移除元素之后,列表的结果是:{mylist}”)
>>>最后的结果是[“itCSDN”,”python”]

当被删除的元素在列表中存在多个时,默认删除首次出现的那个。

(8)列表.clear():清空列表

mylist=[“itCSDN”,”itlove”,”python”]
mylist.clear()
print(f”列表清空之后的结果是:{mylist}”)
>>>最后的结果是:[]

列表统计

(1)列表.count(元素):统计此元素在列表中出现的次数

mylist = ["itCSDN", "itlove", "itlove", "itlove", "python"]
count = mylist.count("itlove")
print(f"列表中itlove的数量是:{count}")
>>>最后的结果是3

(2)列表.index(元素):查找指定元素在列表的第一个下标,找不到就报错ValueError

mylist = ["itCSDN", "itlove", "python"]
index = mylist.index("itlove")
print(f"itlove在列表中的下标索引值是:{index}")
>>>最后的结果是1

当被搜索值在列表中多次出现时,仅返回首次出现的位置。

(3)len(列表):统计容器内有多少元素

mylist = ["itCSDN", "itlove", "python"] 
count = len(mylist)
print(f"列表的元素数量总共有:{count}个")
>>>最后的结果是3

多个列表

列表的连接(合并)/复制

与字符串一样,列表之间可以使用 + 号和 * 号实现元组的连接和复制,这就意味着它们可以生成一个新的列表。

1、+连接(合并)

x = [1, 2, 3]
y = [4, 5, 6]
print(x + y)
#[1, 2, 3, 4, 5, 6]

2、*复制

x = ['Hello']
print(x * 5)
#['Hello', 'Hello', 'Hello', 'Hello', 'Hello']
嵌套列表

使用嵌套列表即在列表里面创建其他列表。

x = [1, 2, 3]
y = ['a', 'b', 'c']
z = [x, y]
print(z)
1234
[[1, 2, 3], ['a', 'b', 'c']]

复制列表

list.copy()

fruits = ['apple', 'banana', 'cherry', 'orange']
x = fruits.copy()
print(x)
>>>['apple', 'banana', 'cherry', 'orange']
list1 = ['apple', 'banana', 'cherry']
list_2 = list(list1)

列表排序

(1)sort():用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数

语法:list.sort(reverse=True|False, key=myFunc)

reverse:reverse=True是对列表进行降序排列,默认是reverse=False

key:指定排序标准的函数

words = ['Name', 'Gender', 'Age', 'Height', 'Weight']
words.sort()
print(words)
>>>['Age', 'Gender', 'Height', 'Name', 'Weight']
words = ['Name', 'Gender', 'Age', 'Height', 'Weight']
words.sort(reverse=True)
print(words)
>>>['Weight', 'Name', 'Height', 'Gender', 'Age']

(2)颠倒列表顺序:list.reverse()

fruits = ['apple', 'banana', 'cherry']
fruits.reverse()
print(fruits)
>>>['cherry', 'banana', 'apple']
函数描述
print()打印输出
len()确定列表的长度
type()输出变量的类型
list()定义列表(转换为列表)
max()返回列表元素的最大值
min()返回列表的最小值
del删除整个列表或者通过索引删除列表中的某个元素
append(obj)在列表末尾添加一个元素
insert(index, obj)在指定的位置插入一个元素
extend(seq)将列表元素添加到当前列表的末尾
count(obj)统计某个元素在列表中出现的次数
index(obj)查找元素在列表的第一个匹配项的索引
sort( key=None, reverse=False)正向排序
copy()复制列表
reverse()逆向排序
pop([-1])删除列表的最后一个元素,并且返回该元素
remove(obj)移除列表中某个值的第一个匹配项
clear()清空列表

列表推导式

  • [表达式 for 变量 in 列表]:当变量遍历列表时,得到由对应的表达式结果组成的列表
  • [表达式 for 变量 in 列表 if 条件]:变量遍历列表,并且满足if后面的条件时,得到的是由表达式运算结果组成的列表
  • [表达式 for 变量 in 取值范围]:变量在取值范围内的遍历,然后通过表达式运算得到结果列表

http://www.kler.cn/a/587562.html

相关文章:

  • 3.4 Spring Boot整合Elasticsearch:全文检索与聚合分析
  • 信奥赛CSP-J复赛集训(模拟算法专题)(16):P6386 [COCI 2007/2008 #4] VAUVAU
  • Linux下对2TB磁盘的分区、格式化、挂截目录介绍
  • 用Python和Pygame实现打砖块游戏
  • HTML编辑MP4保存名称
  • DBeaver部分操作指南(数据库连接,构造ERD图,格式化SQL)
  • Hive函数大全:从核心内置函数到自定义UDF实战指南(附详细案例与总结)
  • 无电池也能通信!中国移动5G-A芯片重塑物联网未来
  • P2512糖果传递 P4447分组 P1080国王游戏 P4053建筑抢修
  • Python 字节码深度历险:dis 模块揭秘与性能优化实战
  • 深入探讨RAID 5的性能与容错能力:实验与分析(磁盘阵列)
  • Vue 中的 MVVM、MVC 和 MVP 模式深度解析
  • Java数据结构第二十三期:Map与Set的高效应用之道(二)
  • 深度迁移学习实战指南:从理论到产业级应用
  • 安装 MongoDB 的步骤(Windows / macOS / Linux)
  • Excel表一键查询工具
  • 简要分析NETLINK_USER参数
  • springboot系列十五:SpringBoot整合MyBatis, MyBatis-Plus
  • 【数据结构】数据结构,算法 概念
  • ctfshow-萌新赛刷题笔记