Python3基本数据类型之列表!

python基本数据类型-列表 格式:列表名=[元素1,元素2,元素3,。。。。 阅读详情

1、初识列表

列表(List)是Python3中的"容器型"数据类型。

列表通过中括号把一堆数据括起来的方式形成,列表的长度不限。

列表里面的元素可以是不同的数据类型,但是一般是相同的数据类型。

nums = [1,3,5,7,9,11,13,15]
user_info = ["jack", 18, "male"]

==列表支持索引(index)和切片(silice)的方式访问其中的元素==。

#demo1:索引
nums = [1,3,5,7,9,11,13,15]
print(nums[1],[-1])
#output:
3 15
  • 列表索引值从0开始,即[0]对应列表的第一个元素,同理依次往右计数
  • 为简单访问列表的末尾元素,索引值可以为负数,[-1]表示列表最后一个元素,[-2]倒数第二个元素
  • Python资源共享群:484031800
#demo2:切片
nums = [1,3,5,7,9,11,13,15]
print(nums[0:3])
print(nums[2:-1])
print(nums[:])
print(nums[::2])
print(nums[-5:-1])
print(nums[-1:-5:-1]) # 注意切出来的元素顺序
#output:
[1, 3, 5]
[5, 7, 9, 11, 13]
[1, 3, 5, 7, 9, 11, 13, 15]
[1, 5, 9, 13]
[7, 9, 11, 13]
[15, 13, 11, 9]

==切片总结==:

  • 列表切片的返回结果是一个列表,即把切出来的元素放在一个新列表中。
  • 切片操作的方法按照 list_name[start : end : step] 的通原则执行:
  • start是切片的开始位置,此位置元素包含在切出来的列表中。
  • end是切片的结束位置,结束位置的元素不包含在切出来的列表中。
  • step是切片的间隔,即每个step切一个元素出来。默认step是1。
  • [ : ] 冒号两边什么也不写,默认切整个列表的元素。
  • step也可以是负数,即倒着切,此时end处的元素依然不包含的新列表中。

==类列表可以连接在一起==。

#demo3:
nums = [1,3,5,7,9]
new_nums = nums + [2,4,6,8,10]
print(new_nums)
#output:
[1,3,5,7,9,2,4,6,8,10]

==列表是可变的,可以修改列表中元素的值==。

#demo4:索引
nums = [1,2,3,4,5]
nums[2] = 6
print(nums)
#output:
[1,2,6,4,5]
#demo5:切片
words = ["a", "b", "c", "d", "e"]
words[1:4] = ["B", "C", "D"]
print(words)
#output:
["a", "B", "C", "D", "e"]

==列表尾部增加元素、删除列表元素、清空列表==

#demo6:
names = ['cindy', 'jack', 'alex', '小明']
names.append("jane")
names[1:3] = []
print(names)
names[:] = []
print(names)
#output:
['cindy', '小明', 'jane']
[]

==len()获得列表长度==

#demo7:
names = ["cindy", "jack", "white"]
print(len(names))
#output:
3

==max()、min()、sum()==:获得列表最大值、最小值、元素之和

#demo8:
nums = [1,2,3,4,9]
print(max(nums), min(nums), sum(nums))
# output:
9 1 19

==list()==:将其他数据类型( 可迭代数据类型 )转化为列表形式

#demo9:
str1 = "string"
t = (1,2,3)
s = {1,2,3}
d = {"name":"jack","age":18}
print(list(str1))   #output:['s', 't', 'r', 'i', 'n', 'g']
print(list(t))      #output:[1, 2, 3]
print(list(s))      #output:[1, 2, 3]
print(list(d))      #output:['name', 'age']

==列表嵌套==:列表可以多重嵌套

#demo10:
nums = [1,2,[3,4,5], [6,7,[0],8],3,4]

2、列表属性方法

Python中,一切皆对象,列表也不例外。

作为==List Objects==,列表对象也有很多方法属性,通过点的方式调用。

append()        insert()        extend()        # 增
pop()           remove()        clear()         # 删
index()         count()         copy()          # 查、复制
sort()          reverse()                       # 排序

==append(x)==

在列表的尾部添加一个新元素x,相当于:list_name[len(list_name):] = [x]

元素x可以是任意数据类型,因为列表是可以嵌套的,其他方法中的x同理。

#demo1:
nums = [1,3,5]
nums.append(7)
print(nums)  #output: [1,3,5,7]

==insert(index, x)==

在列表索引index位置前插入一个新元素x,原列表index处及后面的元素一次往后排。

#demo2:
nums = [1,3,5]
nums.insert(1,10)
nums.insert(-1,10)
print(nums)  #output: [1,10,3,10,5]

==extend(iterable)==

从一个可迭代对象中增加新元素到列表中,extend每次调用仅接收一个参数。

可迭代的对象包含:列表、元组、字典、集合等

#demo3:
nums = [1,2,3]
nums.extend([4,5,6])
info = {"name":"jack","age":18}
nums.extend(info)
# nums.extend(10)  报错TypeError: 'int' object is not iterable
print(nums)
#output:
[1,2,3,4,5,6,"name","jack"]

==pop( [index] )==

默认不传参数,删除列表最后一个元素并返回。

pop也可以通过指定下标索引删除特定位置元素并返回,索引值越界会报错。

注意空列表调用pop会报错:IndexError: pop from empty list

#demo4:
nums = [1,2,3,4,5]
print(nums.pop())
res = nums.pop(1)
print(nums, res)
lis = []
# lis.pop()  #报错
#output:
5
[1,3,4] 2

==remove(x)==

删除列表中第一个出现的元素 x,x不存在就报错。

#demo5:
nums = [1,2,3,2]
nums.remove(2)
print(nums)   #output:[1,3,2]

==clear()==

删除列表中的所有元素,相当于 del nums[:]

#demo6:
nums = [1,2,3]
nums.clear()
print(nums) #output:[]

==index(x[, start[, end])==

返回列表中元素x第一次出现位置处的索引值,如果x不存在就报错。

可选参数start和end,通过下标的方式限定查找的范围:start<= 范围 <end,

start和end可独立使用也可同时使用。

  • start位置处的元素在查找的范围内,end位置处的元素不在查找的范围内。
#demo7:
nums = [1,2,3,4,1,2,10]
print(nums.index(2),nums.index(2,1),nums.index(2,2,6))
# print(nums.index(2,2,5)) #报错,因为元素不存在,不在查找的范围内
#output:
1 1 5

==count(x)==

返回元素x在列表中一共出现的次数,如果列表中不存在x,返回0

#demo8:
nums = [1,2,1,2,5,6,1,2]
print(nums.count(1),nums.count(8))
#output:
3 0

==copy()==

Return a shallow copy of the list. Equivalent to nums[:]

Python3中copy涉及的内容较多,现简单介绍之,后续再深入学习。

#demo9:
nums = [1,2,3]
new_nums = nums.copy()
print(new_nums)
#output: [1,2,3]

==sort(key=None, reverse=False)==

sort不返回任何参数,只对列表做排序处理。key和reverse是可选参数。

默认sort对列表中元素做升序排列,即reverse=False,若指定reverse=True,对列表元素做降序排列。

默认sorts使用元素中的第一个元素做排序的比较对象,也可以使用key参数指定比较的对象,见demo12

#demo10:
nums = [(3,2),(6,9), (5,8),(4,5),(1,6)]
nums.sort()
print(nums)
#output: [(1, 6), (3, 2), (4, 5), (5, 8), (6, 9)]
#即 按元组的第一个元素升序排列,默认reverse=False
#demo11:
nums = [(3,2),(6,9), (5,8),(4,5),(1,6)]
nums.sort(reverse=True)
print(nums)
#output: [(6, 9), (5, 8), (4, 5), (3, 2), (1, 6)]
#即 按元组的第一个元素降序排列啦,激活reversr=True,降序啦
#demo11:
def sort_second_item(ele):
    return ele[1]
nums = [(3,2),(6,9), (5,8),(4,5),(1,6)]
nums.sort(key=sort_second_item, reverse=True)
print(nums)
#output: [(6, 9), (5, 8), (1, 6), (4, 5), (3, 2)]
#即 按元组的第二个元素降序排列啦,激活key,使用自定义排序对象

==reverse()==

列表反转,仅反转列表无排序功能

nums = [1,3,2,6,9,4,3]
nums.reverse()
print(nums)
#output: [3, 4, 9, 6, 2, 3, 1]

总结:append、reverse、sort、remove等仅修改列表,无返回值,但默认是返回None

3、列表高级用法

==1、像栈(Stacks)一样使用列表==

  • “后进-先出(last-in, first-out)”
  • append()和pop()
#demo1:
nums = [1,2,3,4]
nums.append(5)
nums.append(6)
n1 = nums.pop()
n2 = nums.pop()
print(n1, n2)
#output: 6 5

==2、列表解析==

列表解析是用来生成列表的,这种列表内的元素具有某种内在规律。

#demo2:
nums = [x*2 for x in range(10)]
print(nums)
#output: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

具体用法是:[表达式 for语句 if语句]

  • 表达式如果是元组,则必须用小括号括起来;字典则大括号
  • 可以有多个for 语句和 多个if 语句
#demo3:
nums = [-2, 0, 4]
print([x for x in nums if x>=0])
print([abs(x) for x in nums])
print([{x:x*2} for x in nums])
print([(x,y) for x in nums for y in nums if x>y if x>0])
#output:
[0, 4]
[2, 0, 4]
[{-2: -4}, {0: 0}, {4: 8}]
[(4, -2), (4, 0)]

==3、矩阵转置==

把下面3x4矩阵转置

matrix = [
    [1, 2, 3, 4],
... [5, 6, 7, 8],
... [9, 10, 11, 12],
]
#demo4:
tran_matrix = [ [row[i] for row in martix] for i in range(4) ]
print(tran_matrix)
#output: [[1,5,9],[2,6,10],[3,7,11],[4,8,12]]
解读:
先看 for i in range(4) 指的是四次循环生成新矩阵的4行
再看,当i=0时:内层循环 for row in matrix 这个循环有三次,因为len(matrix)=3,即代表新矩阵矩阵每行的三个数 
当row=matrix[0],即row=[1,2,3,4],这是row[i]即row[0]=1
当row=matrix[1],即row=[5,6,7,8],这是row[i]即row[0]=5
当row=matrix[2],即row=[9,10,11,12],这是row[i]即row[0]=9   得到[1,5,9],
内层循环结束,外层循环接着开始,i=1
当row=matrix[0],即row=[1,2,3,4],这是row[1]即row[0]=2
当row=matrix[1],即row=[5,6,7,8],这是row[1]即row[0]=6
当row=matrix[2],即row=[9,10,11,12],这是row[1]即row[0]=10    得到[2,6,10],
依次类推......
Python3 列表 序列是 Python 中最基本的数据结构。序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。Python 有 6 个序列的内置类型,但最常见的是列表和元组。列表都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python 已经内置确定序列的长度以及确定最大和最小的元素的方法。列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。 阅读详情

相关推荐

9 海康视觉平台VisionMaster 上手系列:典型案例之螺丝机案例

海康视觉平台VisionMaster 上手系列:典型案例之螺丝机案例 快速入门 工业机器视觉 机器视觉

HuangGong2022的博客 7176

Python3基本数据类型之列表

1、初识列表 列表(List)是Python3中的"容器型"数据类型。 列表通过中括号把一堆数据括起来的方式形成,列表的长度不限。 列表里面的元素可以是不同的数据类型,但是一般是相同的数据类型。 nums = [1,3,5,7,9,11,13,15] user_info = ["jack", 18, "male"] 列表支持索引(index)和切片(silice)的方式访问其中的元素 ...

weixin_30328063的博客 246

用友U8 API 二次开发:WebService封装7个核心DLL引用与U8Login登录避坑

本文详细介绍了用友U8 API二次开发中的WebService封装与U8Login登录优化实践。通过7个核心DLL的正确引用、U8Login登录机制的深度解析及IIS环境下的特殊处理方案,为开发者提供了一套高可用性的通用解决方案,助力企业实现ERP系统的高效集成与数字化转型。

weixin_42524171的博客 505

chatgpt赋能python:Python如何创建三维列表

三维列表是一种包含多个列表的列表,每个列表都包含多个元素。这些子列表共同组成一个三维数据结构,可以用于存储和操作多维数据。三维列表可以表示各种数据类型,例如图像、音频、视频等等。在Python编程中,创建三维列表是极为常见的一个任务。我们可以使用列表推导式来快速创建三维列表,并且可以使用各种方法来操作它。我们希望,这篇文章为你提供了关于在Python中创建三维列表的一些基础知识。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的。

test100t的博客 1517

Blender - Shrinkwrap - 更方便的制作贴合模型的表面来建模

Shrinkwrap 修改器 使用 Blender 想要快速建模可以贴合现有模型表面的效果:衣服、皮肤、等效果,可以使用 Shrinkwrap 修改器,这个修改器的名字其实按照英文上的理解,翻译为:收缩的包裹效果 应用 如这块铁皮,它要贴合机身弯曲的效果,可以先建好一个铁皮,再 Shrinkwrap 到一个指定的网格上 留意的参数 Target 要贴合的对象(目前我已知是可以贴合到网格对象上,实在是方便) VertexGroup 顶点组,和之前讲到过的,顶点组可以组设顶点的权重,意思这个可.

Jave.Lin 的学习笔记 6070

Quartus的Signal Tap II的使用技巧

Signal Tap II全称Signal Tap II Logic Analyzer,是第二代系统级调试工具,它集成在Quartus II软件中,可以捕获和显示实时信号,是一款功能强大、极具实用性的FPGA片上调试工具软件。传统的FPGA板级调试是由外接的逻辑分析仪连接到FPGA的控制引脚,将内部引号引出至引脚I/O上,接着进行板级调试。

qq_37624854的博客 5899

【python】翻转matrix矩阵

题目: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入矩阵,使其变为: [ [7,4,1], [8,5,2], [9,6,3] ] 思路:先沿对角线翻转,然后沿着中间竖线翻转。 #coding:utf-8 def print_matrix(matrix): """ """ for i in range(len...

远方不远 1816

深入解析CycloneDDS跨域通信中的XML配置文件优化策略

本文深入解析了CycloneDDS跨域通信中XML配置文件的优化策略,重点介绍了网络接口配置、多播设置、性能调优参数及复杂场景下的配置案例。通过实战技巧和调试方法,帮助开发者在SoC环境中实现高效稳定的跨域通信,提升系统性能。

soda5的博客 688

Python 列表(Lists)day09

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

weixin_33910460的博客 662

基于Python的携程景点评价爬虫与情感评分分析

摘要: 本项目通过Python技术栈实现携程景点评论的情感分析系统,包含数据爬取、文本预处理、情感评分和可视化分析全流程。使用requests抓取评论接口,jieba进行中文分词,SnowNLP计算情感得分(0-1),并通过词云、情感分布图呈现结果。典型分析显示72%评论为正面,负面反馈多涉及"排队久""票价贵"等问题。系统可辅助景点口碑管理,扩展方向包括多景点对比、BERT模型优化等。项目强调需遵守爬虫伦理,控制请求频率,适用于非商业用途的旅游数据分析。(150字)

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 977

进阶数据结构——链式前向星

链式前向星是一种进阶的数据结构,主要用于图的存储。我希望大家先看这个视频(蓝色字体点进去) 不然你很难理解的。在图论中,图的存储方式主要有邻接矩阵和邻接表两种。邻接矩阵虽然建图简单方便,但占内存较大,节点数量稍微大点的题目就难以使用(适合稠密图);而邻接表虽然节省空间,但其指针形式难写易错,且vector形式的读取速度较慢,易导致大数据下的超时(TLE)。针对上述问题,链式前向星作为一种折中的方式应运而生。链式前向星本质上是一种静态链表,它将数据以链表形式连接在一起。

ycs66的博客 2137

python3 列表 list

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:list1 = ['Google', 'Runoob', 1997, 2000];访问列表中的值使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:#!/usr/bin/python3 lis...

Xiatian_lxz的博客 691

【蓝凌表单】JSP组件常用语法整理

【代码】【蓝凌表单】JSP组件常用语法整理。

烧硬盘 708

python基本数据类型都在这里

前言 python中列表,元祖,字典怎么还分不清,随便看看,看完不会我给你买iphone12! 一、列表 1.什么是列表 类比其他语言的数组强大的地方在于列表中的元素可以是不同类型的,到底有多强,上代码。 my_list = [1, "xin", (1, ), {"yi"}, ["nice"], {"hello": "world"}] 说破大天也没有哪种语言能这么肆无忌惮, 一个列表里包含了int, str, 元祖, 列表, 字段… 2.列表的基本操作 <1>添加元素("增"append,

donggaopeng的博客 6917

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

python六种基本数据类型

python六种基本数据类型 Python3 中有六个标准的数据类型: number(数字) string(字符串) tuple(元组) list(列表) set(集合) dictionary(字典) 前三种为不可变数据(不可变数据类型在第一次声明赋值声明的时候, 会在内存中开辟一块空间, 用来存放这个变量被赋的值, 而这个变量实际上存储的, 并不是被赋予的这个值, 而是存放这个值所在空间的内存地址, 通过这个地址, 变量就可以在内存中取出数据了. 所谓不可变就是说, 我们不能改

old sweet的博客 3万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Python入门:Python3 基本数据类型全解析

Python入门:Python3 基本数据类型全解析,在 Python 编程中,数据类型是构建程序的基础。不同于其他编程语言,Python 中的变量无需声明类型,变量的类型由其指向的内存对象决定。本文将详细介绍 Python3 中的基本数据类型,包括其特性、操作方法及实际应用示例,帮助初学者快速掌握核心知识点。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 3万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Python3 基本的数据类型

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。

pzooxuol9445jps的博客 1925

python3 long类型_Python3 基本数据类型

Python3 基本数据类型Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:实例(Python 3.0+)#!/usr/bin/python3counte...

weixin_39725885的博客 4047

Python3 基本数据类型

以下是。

likuoelie的博客 766

Python3(2) 基本数据类型

Python3 的基本数据类型丰富多样,每种都有其独特的特性和用途。通过不断实践和使用这些数据类型,我们能编写出更高效、更强大的 Python 程序。希望这篇博客能帮助大家更好地理解和掌握 Python3 的基本数据类型,让编程之路更加顺畅!

Theodore_1022的博客 939

Python的基本数据类型!

Python的基本数据类型 今天博主跟大家聊一聊如何使用Python的基本数据类型不喜勿喷,如有建议欢迎补充、讨论! 关于安装和汉化可以观看博主的这篇文章《下载安装及汉化 》以及Python系列:windows10配置Python3.0开发环境!,安装完毕重启VsCode!以及VSCode配置Python开发环境! 在了解基本数据类型的时候,我们需要了解基本数据类型有哪些?数字int、布尔值bo...

Mr_chen的博客 615

Python3 | 练气期,基本数据类型,类型转换!

上一章,我们学习了Python3基础语法,此章节我们学习Python几种基本数据类型,以及数据类型转换,希望各位看友认真学习此基础篇章,为后续的深入学习打下牢固的基础,为了不让各位看友犯困,作者也尽可能用简短的语言以及实践示例进行表达。

全栈工程师修炼指南-IT知识分享 863

python 基本数据类型,列表list

5 a = ['四川', {'省会': '成都'}, ('自贡', '内江', '乐山'), '云南', {'省会': '昆明'}, ('曲靖', '玉溪', '昭通')]7 #打印出 ['alex', 'seven', 'eric', 'seven', '1', '2', '3'] 将一个列表扩展到另一个列表。6 #打印出 ['guixiu', 'alex', 'eric', 'seven'] 在0的位置插入guixiu。6 #打印出 ['seven', 'eric', 'alex'] 反转元素顺序。

weixin_47643369的博客 1165

Python3 六大基本数据类型详解

标准数据类型 Python3 中有六个标准的数据类型: 1、Number(数字) 2、String(字符串) 3、List(列表) 4、Tuple(元组) 5、Set(集合) 6、Dictionary(字典) Python3 的六个标准数据类型中: 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组); 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。 Number(数字) Python3 支持 int、float、bool、comple

weixin_42080490的博客 1768
上一篇: python的局部变量和全局变量!
下一篇: 如何用Python做自动化特征工程!
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值