【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()

相关推荐
GLAB-Mary1 小时前
90%的网络工程师,根本没必要考HCIE!
网络·华为·华为认证·hcie·hcia·hcip
PHP实战开发录1 小时前
PHP脚本手动能跑定时任务却失败
开发语言·php·开发
蒸蒸yyyyzwd2 小时前
cpp 选手秋招学习笔记 day33
c++·笔记·求职招聘
郝学胜-神的一滴2 小时前
Effective Python 条款 10 :海象运算符_=
开发语言·python·程序人生·开源
wuyk5552 小时前
Python零基础入门第十四章:异常处理(try-except)
开发语言·python
2601_962078192 小时前
Appium+Python+pytest自动化测试框架详解
自动化测试·python·appium·pytest·移动应用
wuyk5552 小时前
【Socket 进阶之路】第 3 章 TCP 三次握手 & 四次挥手深度剖析|连接建立、断开、状态机、TIME_WAIT 核心工程问题
服务器·开发语言·网络·物联网·网络协议·tcp/ip
卷无止境5 小时前
智能体开发环境ADE浅析,编程工具的下一次范式跃迁
后端·python
彧azz8 小时前
图的存储结构详解:邻接矩阵的原理、实现与应用
开发语言·数据结构·学习·php
嵌入式学习菌8 小时前
Modbus‑RTU 数据类型分析
开发语言·单片机·bug