【Python】列表

目录

一、列表的概念

二、列表的创建

[1.变量名= [ ] .....](#1.变量名= [ ] .....)

[2.通过Python内置 的I ist类的构造函数来创建列表](#2.通过Python内置 的I ist类的构造函数来创建列表)

三、操作列表元素的方法

[1. 修改](#1. 修改)

[2. 增加元素](#2. 增加元素)

[3. 删除](#3. 删除)

[4. 其他操作](#4. 其他操作)

四、遍历列表

五、列表排序

[六、列表切片(list slicing)](#六、列表切片(list slicing))

七、列表的扩充

八、列表的复制

九、数值列表

创建

列表生成式

十、其他方法


一、列表的概念

  • List用来存储任意大小的数据集合。
  • 一个列表中可以包含任意个数据,每个数据称为元素。
  • 列表是Python中使用最频繁的数据类型,它是放在方括号 [] 内、用逗号分隔的一系列元素。
  • 列表中元素的类型可以不同,它支持数字、字符串甚至可以包含列表。换言之,列表允许嵌套。

二、列表的创建

1.变量名= [ ] .....

2.通过Python内置 的I ist类的构造函数来创建列表

使用list ()可以将任何可迭代的数据转化成列表

eg.1:

>>> lst = list("python")

>>> Ist

['p','y', t', "h', 'o', 'n"]

eg.2

>>> lst = list(range(0,5))

>>> Ist

[0,1,2,3, 4]

>>> type(Ist)

<class 'list'>

三、操作列表元素的方法

1. 修改

列表名 [索引] = 新值

2. 增加元素

  1. append()

列表名.append()

在列表最后添加单个元素

  1. insert()

列表名. insert(索引,新元素)

3. 删除

1.del

删除元素

del 列表名 [索引]

删除列表

def 列表名

  1. remove

列表名.remove(元素值)

  1. pop()

删除并返回值

空括号则删除列表最后一项并返回值

可使用

i = ls.pop()

删除并把某项的值赋给i

4. 其他操作

  1. len()

  2. 运算符 in 和 not in

字面意思,检查某元素是否在列表中,并返回布尔值True/False

  1. index()

查找指定元素

  1. 存在

返回索引

  1. 存在多个相同值

返回首个该元素的索引

  1. 不存在

报错

  1. count()

列表.count(元素)

计算某元素的个数

四、遍历列表

  1. 使用range()函数

for i in range() :

  1. 直接的元素遍历

for i in list:

五、列表排序

  1. sort()

升序(默认)

eg. list.sort()

降序

eg. list.sort(reverse=True)

  1. sorted()

区别:sort() 直接改变原列表,且没有返回值,sorted()不改变原列表,返回排序后的值,故可用它赋值给其他列表

语法:ls=sorted(ls1,reverse=?)

升序(默认)

eg. ls=sorted(ls1)

降序

eg. ls=sorted(ls1, reverse=True)

六、列表切片(list slicing)

语法: list[ 起始索引:终止索引 ]

七、列表的扩充

可将两个列表连接成为一个新列表

ls = ls1 + ls2

  1. extend()

ls1. extend(ls2)

可将ls2连接在ls1后,并赋值给ls1

相当于ls1=ls1+ls2

  1. *

将列表中的元素重复多次

ls2=ls1*3

八、列表的复制

  1. 使用切片实现

ls1=ls[ : ]

  1. copy

ls1=ls.copy()

效果与切片相同

  1. 列表之间的赋值

ls1=ls

辨析:切片和copy()会生成一份原列表的备份(深拷贝),并将改备份赋值给新列表,列表之间的赋值是浅拷贝(让原列表多一个新的名字,调用时还是原来的列表,就是说两个列表名对应的列表会同时改变)

九、数值列表

创建

通过input()输入

输入时需要用eval()将input()内的字符串转为数值

通过list()转换

列表生成式

list=[ 循环相关表达式 for 循环变量 in range() 函数]

十、其他方法

min()

max()

sum()

相关推荐
Diamond技术流几秒前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
密码小丑1 分钟前
11月4日(内网横向移动(一))
笔记
写bug的小屁孩3 分钟前
前后端交互接口(三)
运维·服务器·数据库·windows·用户界面·qt6.3
Spring_java_gg14 分钟前
如何抵御 Linux 服务器黑客威胁和攻击
linux·服务器·网络·安全·web安全
blammmp21 分钟前
Java:数据结构-枚举
java·开发语言·数据结构
何曾参静谧34 分钟前
「C/C++」C/C++ 指针篇 之 指针运算
c语言·开发语言·c++
暗黑起源喵40 分钟前
设计模式-工厂设计模式
java·开发语言·设计模式
鸭鸭梨吖43 分钟前
产品经理笔记
笔记·产品经理
WaaTong44 分钟前
Java反射
java·开发语言·反射
Troc_wangpeng1 小时前
R language 关于二维平面直角坐标系的制作
开发语言·机器学习