Python学习-列表1

Python——嵌套列表以及列表推导式 这是最直接的方法,你只需在方括号内用另一对方括号定义子列表。浅拷贝:只复制列表本身,不复制列表中的元素(如果它们是可变对象)。深拷贝:不仅复制列表本身,还递归地复制列表中的所有元素(包括嵌套的可变对象)。在处理包含可变对象的嵌套列表时,选择正确的拷贝方式非常重要,以避免意外的副作用。 阅读详情

十二、列表1

1、创建列表及基本运算

1)使用中括号,将所有准备放入列表中的元素,包裹起来,不同元素之间使用逗号分隔。
举例:

[1,2,3,4,5]

2)列表可以容纳不同类型的数据。
举例:

[1,2,3,4,5,"上山打老虎"]

3)给列表添加变量名。
举例:

rhyme = [1,2,3,4,5,"上山打老虎"]
print(rhyme)

 
[1,2,3,4,5,'上山打老虎']

4)序列在Python中是最常见的数据结构,字符串和列表都是序列,按顺序访问列表上的每一个元素。

rhyme = [1,2,3,4,5,"上山打老虎"]
for each in rhyme:
    print(each)
 
    
1
2
3
4
5
上山打老虎

5)单独访问列表中的某一个元素,可以使用下标索引的方法。

rhyme = [1,2,3,4,5,"上山打老虎"]
rhyme[0]
1
rhyme[2]
3
rhyme[5]
'上山打老虎'

6)如果列表很长,如何访问最后一个元素。

length = len (rhyme)
rhyme[length -1]
'上山打老虎'
 
rhyme[-1]
'上山打老虎'

2、列表切片

1)输入需要获取的元素的范围。

rhyme[0:3]
[1, 2, 3]

2)简写元素范围

rhyme[:3]
[1, 2, 3]
rhyme[3:]
[4, 5, '上山打老虎']
rhyme[:]
[1, 2, 3, 4, 5, '上山打老虎']

3)跳着显示元素,第二个冒号后是设置列表步进的跨度值。

rhyme[0:6:2]
[1, 3, 5]
 
rhyme[::2]
[1, 3, 5]

4)倒序输出

rhyme[::-2]
['上山打老虎', 4, 2]
 
rhyme[::-1]
['上山打老虎', 5, 4, 3, 2, 1]

3、列表——增

1)append(),在列表的末尾添加一个指定的元素。

heros = ["钢铁侠","绿巨人"]
heros.append("黑寡妇")
heros
['钢铁侠', '绿巨人', '黑寡妇']

2)extend(),允许直接添加一个可迭代的对象。比如列表就是一个可迭代的对象。
注意:extend()方法的参数必须是一个可迭代的对象,新的内容是追加到原列表最后一个元素的后面。

heros = ["钢铁侠","绿巨人"]
heros.extend(["鹰眼","灭霸","雷神"])
heros
['钢铁侠', '绿巨人', '黑寡妇', '鹰眼', '灭霸', '雷神']

3)使用切片实现增加功能

s = [1,2,3,4,5]
s[len(s):]=[6]
s
[1, 2, 3, 4, 5, 6]
 
s[len(s):]=[7,8,9]
s
[1, 2, 3, 4, 5, 6, 7, 8, 9]

4)在列表的任意位置添加数据——insert(),第一个参数是插入的位置,第二个参数是插入的元素。

s=[1,3,4,5]
s.insert(1,2)
s
[1, 2, 3, 4, 5]

列表开头插入

s.insert(0,0)
s
[0, 1, 2, 3, 4, 5]

列表末尾插入

s.insert(len(s),6)
s
[0, 1, 2, 3, 4, 5, 6]

4、列表——删

1)将指定的元素删除,remove方法
注意:如果列表中存在多个匹配的元素,name它只会删除第一个。
如果指定的元素不存在,那么程序就会报错。

heros.remove("灭霸")
heros
['钢铁侠', '绿巨人', '黑寡妇', '鹰眼', '雷神']

2)删除某个位置上的元素,pop方法,它的参数就是元素的下标索引值

heros.pop(2)
'黑寡妇'
heros
['钢铁侠', '绿巨人', '鹰眼', '雷神']

3)清空列表,clear

heros.clear()
heros
[]

5、列表——改

列表和字符串最大的区别就是,列表是可变的,而字符串是不可变的。
替换列表中的元素和访问列表类似,都是使用下标索引的方法。用赋值运算符就可以将新的值给替换进去了。
1)单个元素的替换

heros = ["蜘蛛侠","绿巨人","黑寡妇","鹰眼","灭霸","雷神"]
heros[4]="钢铁侠"
heros
['蜘蛛侠', '绿巨人', '黑寡妇', '鹰眼', '钢铁侠', '雷神']

2)多个元素的替换——切片
A.将赋值号(=)左边指定的内容删除
B.将包含在赋值号(=)右边的可迭代对象中的片段插入左边被删除的位置

heros[3:]=["武松","林冲","李逵"]
heros
['蜘蛛侠', '绿巨人', '黑寡妇', '武松', '林冲', '李逵']

3)如果列表中都是数字,对列表中的元素从小到大排序,sort()方法
s.sort(key=None,reverse=False),对列表中的元素进行原地排序(key参数用于指定一个用于比较的函数;reverse参数用于指定排序结果是否反转)

nums = [3,1,9,6,8,3,5,3]
nums.sort()
nums
[1, 3, 3, 3, 5, 6, 8, 9]

4)从大到小排序,revers(),原地反转列表中的元素

nums.reverse()
nums
[9, 8, 6, 5, 3, 3, 3, 1]


 
nums = [3,1,9,6,8,3,5,3]
nums.sort(reverse=True)
nums
[9, 8, 6, 5, 3, 3, 3, 1]

6、列表——查

1)查看列表中有多少个某元素,count方法

nums.count(3)
3

2)查找某个元素的索引值,index()

Index(x,start,end),可以指定查找的开始和结束位置。
heros.index("绿巨人")
1

3)可以与替换结合使用,如果不知道某个元素的索引值,想替换该元素时。

heros[heros.index("绿巨人")]="神奇女侠"
heros
['蜘蛛侠', '神奇女侠', '黑寡妇', '武松', '林冲', '李逵']

4)浅拷贝1:拷贝列表,copy()

nums = [3,1,9,6,8,3,5,3]
nums_copy1 = nums.copy()
nums_copy1
[3, 1, 9, 6, 8, 3, 5, 3]

5)浅拷贝2:使用切片来实现拷贝

nums_copy2 = nums[:]
nums_copy2
[3, 1, 9, 6, 8, 3, 5, 3]

7、列表的运算

1)列表加法——拼接

s = [1,2,3]
t = [4,5,6]
s+t
[1, 2, 3, 4, 5, 6]

2)列表乘法——重复列表内部的所有元素若干次

s * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]

8、嵌套列表——二维列表

二维列表的直接应用就是举证。

matrix = [[1,2,3],[4,5,6],[7,8,9]]
matrix
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
 
matrix = [[1,2,3],
               [4,5,6],
               [7,8,9]]
matrix
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

9、访问嵌套列表

1)访问嵌套列表中的元素,可以使用循环来实现,迭代一个列表使用一层循环,迭代嵌套列表我们相应的使用嵌套循环。

for i in matrix:
    for each in i:
        print(each)
        
1
2
3
4
5
6
7
8
9
 
for i in matrix:
    for each in i:
        print(each,end="  ")
    print()
    
1  2  3  
4  5  6  
7  8  9  

2)通过下标访问嵌套列表

matrix[0]
[1, 2, 3]
matrix[0][0]
1

3)通过循环语句来创建并初始化二维列表

A = [0] * 3
A
[0, 0, 0]
for i in range(3):
    A[i] = [0] * 3
    
A
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]

需要注意有个错误写法

B = [[0] * 3] * 3
B
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]

因为当我们要修改其中某个元素的时候,则会发现不同

A [1][1] = 1
A
[[0, 0, 0], [0, 1, 0], [0, 0, 0]]
B [1][1] = 1
B
[[0, 1, 0], [0, 1, 0], [0, 1, 0]]

3)同一性运算符——is
is用于检验两个变量是否指向同一个对象的一个运算符,Python对于不同对象的存储机制是不一样的,字符串是不可变的,但列表是可变的,Python无法确定用户会何时向列表中添加或删除元素。

x = "Love"
y = "Love"
x is y
True
 
x=[1,2,3]
y=[1,2,3]
x is y
False

刚才的错误写法的校验和追根溯源

A[0] is A[1]
False
B[0] is B[1]
True

AB在Python中的内存布局如下:
B试图通过乘号对一个嵌套列表进行拷贝,但它拷贝的只是对同一个列表的引用。
在这里插入图片描述

python中列表的学习1 python中列表的学习 列表是有序集合,没有固定大小,能够保存任意数量任意类型的 Python 对象,语法为 `[元素1, 元素2, …, 元素n] 利用range创建列表 x = list(range(10)) print(x, type(x)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <class ‘list’> x = list(range(1, 11, 2)) print(x, type(x)) [1, 3, 5, 7, 9] <class ‘list’ 阅读详情

相关推荐

理解ADC:为什么需要抗混叠滤波器?

本文介绍 ADC 的混叠现象,引出抗混叠滤波器,并介绍一种开关电容滤波器,它具有很小的增益过渡带。

疯狂的运放 5939

Python 之嵌套列表

抽丝剥茧

iprobobo的博客 2万+

中国高质量夜间灯光数据

中国高质量夜间灯光数据是CnOpenData与吉林高分遥感应用研究院有限公司合作的数据库 ,基于多源夜间灯光卫星遥感影像,经过科学手段对数据进行降噪、修正、分析统计,以年度、月度为更新频率,以省市县三级行政区划作为统计单元,制作高质量夜间灯光数据。

Sunny9qx的博客 3309

Python嵌套数据结构

在 Python 中,嵌套数据结构指的是一种数据结构,其中一个数据结构(例如列表或字典)包含另一个数据结构作为其元素或值。嵌套数据结构可以非常灵活地表示复杂的数据结构,例如树形结构、图形结构、复杂的数据库结构等等。下面将详细介绍 Python 中的嵌套数据结构。

weixin_51705589的博客 3083

【密码学】生成8位26个字母和数字的全排列(密码字典,密钥)c++代码(非递归高效直接)

生成8位26个字母和数字的全排列(密钥)代码(非递归高效直接) 用C语言或C++,生成一个8位的26个字母和数字的全排列的原代码,例如从:00000000到ZZZZZZZZ。 说明:生成的这个字典会非常大,有36^8条记录,估计要3T的硬盘,跑一个晚上看看         这个方法比递归更高效,更直接。                                                ...

Wu_Being 的优快云 博客 1万+

华为云CodeHub保姆级教程:从零开始,5分钟搞定本地代码上传(含常见报错解决)

本文提供华为云CodeHub的保姆级教程,从零开始5分钟完成本地代码上传,涵盖环境准备、仓库创建、远程连接及常见报错解决。特别适合新手开发者快速掌握Git命令与云端协作流程,确保代码安全高效上传。

weixin_30443075的博客 480

Python展开嵌套列表的五种方法

首先,这是一个嵌套列表,如果外面有双引号则是字符串,可以通过eval()来去除,再用列表推导式、for循环、星号解包、列表相加法、集合求并集法等五种方法来展开嵌套列表。。

henanlion的博客 3373

abaqus运行报错 WindowsError:[Error 2]

abaqus提交job总是提示“WindowsError [Error 2”,报这个错误,可能是由于安装其他软件改变了abaqus软件的路径导致,总结了看到的教程,按照下面的方法可以解决这个问题。 步骤一:找到你的abaqus安装路径(我是按照一个安装视频安装的,安装路径为SIMULI1),然后找到SIMULIA文件夹,点击进入后找到commands文件夹,将这个路径复制下来。 步骤二:我的电脑右键属性,在左侧中找到高级系统设置并...

az101za的博客 1万+

Python列表

Python列表 1.使用格式 [数据1, 数据2, 数据3, 数据4, ......] 列表可以一次性存储多个数据,且可以为不同数据类型 2.列表的常用操作 2.1查找 2.1.1下标 name_list = ['tom', 'lily', 'rose'] print(name_list[0]) # tom print(name_list[1]) # lily 2.1.2函数 in...

陌尘吖的博客 1245

VGG16

VGG16学习笔记

一去不复返的通信er 1177

详细介绍pytorch重要的API

Tensor 是 PyTorch 中最基本的数据结构,提供了多种创建和操作张量的函数。Autograd 提供了自动求导功能,可以跟踪 Tensor 上的操作并计算梯度。损失函数用于衡量模型预测值与真实值之间的差异,提供了多种损失函数。是构建神经网络的基础类,提供了定义网络层和前向传播的方法。提供了 GPU 计算的支持,包括设备管理、内存管理等。提供了一些常用的函数式操作,如激活函数、损失函数等。提供了常用的数据集、模型架构和图像转换工具。提供了数据加载和预处理的工具,包括。

hello! 1223

Python学习之[1]——列表

列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型。列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

kevin的学习笔记 412

01 - 什么是SVM

摘要:SVM(共享虚拟内存)技术使CPU和GPU能共享同一虚拟地址空间,简化异构计算编程。传统模型需手动管理CPU/GPU内存和拷贝数据,而SVM允许直接传递指针,自动处理页面迁移和一致性维护。其核心包括统一地址空间、按需迁移、页面故障处理和一致性管理,显著降低编程复杂度并提升性能。通过HMM框架、MMU通知和GPU页面异常等机制实现高效内存共享,支持复杂数据结构,为异构计算带来便利。

图形/计算GPU的驱动与虚拟化技术分享园地 3129

python列表1_Python学习:列表(1)

列表学习笔记1. 使用for循环q=[2,1,3,4,5,6,7,8]for i inq:print(i)2.使用while循环q=[2,1,3,4,5,6,7,8]q_Length=len(q)i=0while ii+=13.列表的常见操作<1>添加元素("增"append, extend, insert)append通过append可以向列表添加元素q=[2,1,3,4,5,6,7...

weixin_39671374的博客 198

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Python学习心得1:合并两个列表和列表的排序

文科生却分到了计算机专业的编程小白终于决定要努力学习编程,报了个Python的网课,今天遇到一个怎么合并两个列表和排序列表的问题。 题目: 一次测评中,老师将 学习小组A 和 学习小组B 的测评成绩(满分 100 分)从低到高记录放进两个列表:A=[91, 95, 97, 99],B=[92, 93, 96, 98] 。 现在,老师想将两个小组的成绩合并为一个列表,并按照从低到高的顺序排序,你能帮...

weixin_41804826的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Python 学习 1-列表

Python 的学习记录 type(a)输出 <class a的类型(如 int)>; bin(a)是输出二进制数的; enumerate()函数 seasons = ['Spring', 'Summer', 'Fall', 'Winter'] lst = list(enumerate(seasons)) print(lst) # [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]**加粗样式** lst = list(enume

Sun_Rose_的博客 340

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python 学习 -- 列表-1

1.定义:列表是由一系列按特定顺序排列的元素组成。其中元素之间可以没有任何关系,可以是字母,可以是数字,或字符串 2.表达方式:用方括号( [ ] )表示列表,并用逗号分隔其中的元素 bicycles = ['bike1','bike2',"bike3"] print(bicycles) #['bike1', 'bike2', 'bike3'] 3.访问列表 列表是有序集合,因此要访问列表...

qq_42113763的博客 579

Python学习之路之九,列表1

前面学过了程序的三种结构,顺序、分支、循环。我们可以看出,顺序结构可以体现出计算机的听话的特性,很老实,一步一步的做;分支结构体现出计算机的智慧属性,具有选择性;循环结构则体现出计算机不知疲惫的机器属性,人会有疲惫感,机器没有这些,它可以一直不停的做下去。学到这里还没有体现出Python的特点或者说它的核心。在我的理解中,Python的核心是与众不同的数据结构(列表、元组、字典)和数不胜数的模块。今天开始我们就开始一起来学习列表。 列表是啥呢?如果说你学过编程语言的话,可以理解成数组;如果说你是零基础的话,

weixin_44581236的博客 289

Python 学习1 之列表

Python学习一 内置方法 1 增 append() 在列表后追加 list=[12,"123"."xiaoming"] list1.append("heihei")#在列表后追加 print(list) #输出[12,"123"."xiaoming","heihei"] insert(index,"内容") 在任意位置添加 list=["张三","lisui"

Blake1991的博客 695

python学习笔记 —— 列表1

列表 列表是由一系列按特定顺序排列的元素组成,列表可由字母,数字,姓名等等,一系列的元素组成,其中的元素可以没有任何关系。在Python中用方括号([ ])来表示列表,用逗号分隔元素,例如: 在打印内容显示在屏幕上时,不能将一个列表如此打印出来,应该只显示其中的内容,可以输入以下的代码: 在Python中的索引也是从0开始的,而非一开始,在Python中有一个有趣的地方,可以指定负数索引,...

qq_45077143的博客 421

python列表学习_python列表学习1

在python中,变量没有类型,对象有类型,变量不用提前声明。 list类型,也是python的一种数据类型。翻译为:列表。 定义 在Python中,用方括号表示一个list,[] 在括号里面,可以是int,也可以是str类型的数据,甚至也能够是True/False这种布尔值。 >>> a=[] #定义了一个变量a,它是List类型,并且是空的。 ...

weixin_34380085的博客 216

Python学习笔记——列表(1)

Python新手之路——列表前言一、创建列表二、对列表的简单使用1.输出列表内容1.输出列表全部内容2.输出列表中的内容2.对列表元素的修改,添加和删除1. 修改元素2.添加元素3.删除元素总结

qq_43138805的博客 1348

Python之列表的学习笔记1

注:remove()方法只删除第一个指定的值,如果要删除的值可能在列表中出现多次,就需要使用循环,确保每个值都删除。(2)使用pop()方法删除元素,可删除任意位置的元素,后期要使用删除元素时,可将删除的元素赋给变量存储起来。(1)使用del语句删除元素,可删除任意位置的元素,需要指定元素的索引。通常不知道列表长度的情况下使用,索引-2返回倒数第二个列表元素,索引-3返回倒数第三个列表元素,以此类推。(2)使用insert()方法可在列表的任意位置添加元素,因此需要指定新元素的索引和值。

qq_35183814的博客 367

Python学习1 列表 与 切片

列表list 与 列表切片

Nancywiner的博客 245

python列表学习1

在python中,变量没有类型,对象有类型,变量不用提前声明。 list类型,也是python的一种数据类型。翻译为:列表。 定义 在Python中,用方括号表示一个list,[] 在括号里面,可以是int,也可以是str类型的数据,甚至也能够是True/False这种布尔值。 >>> a=[]     #定义了一个变量a,它是List类型,并且是空的。 >>>

宁静以致墨的专栏 735

python定义空列表fruit_Python学习之列表(1)

为什么需要列表?列表相当于一个容器。可以把一系列相关的值放在这个容器中进行存储。比如现在要存储水果的种类,那么如果通过之前的方式,一种水果用一个变量存储,那么代码将变得非常糟糕。正确的存储方式应该是定义一个列表类型的变量,然后把所有这些水果的名字存储到这个列表中。###如何定义列表:使用左右两个中括号的形式 列表在其他编程语言中相当于数组# fruits = ['apple','banana','...

weixin_39660922的博客 937
上一篇: Python学习-流程图、分支与循环(branch and loop)
下一篇: Python学习-列表2
Lizzy_Fly
博客等级 码龄5年 262粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值