Python——列表

一、列表的特性介绍

  •         列表和字符串⼀样也是序列类型的数据
  •         列表内的元素直接⽤英⽂的逗号隔开,元素是可变的,所以列表是可变的数据类型,⽽字符串不是。
  •         列表的元素可以是 Python 中的任何类型的数据对象。如:字符串、列表、元组、字典、集合、函数
  •         列表中的具有相同值的元素允许出现多次。[1, 2, 1, 1, 1, 1, 3, 3, 2]

二、创建列表 

#list() 从其他类型转换
In [8]: list('hello')
Out[8]: ['h', 'e', 'l', 'l', 'o']#从字符串转换 split()
In [9]: 'www.liang.com'.split('.')
Out[9]: ['www', 'liang', 'com']

 

三、嵌套的列表 

        列表中可包含 python 中任何类型的元素(对象),当然也可以包括⼀个或多个列表

In [23]: l3 = [['one','two','three'],[1,2,3]]

四、列表的基本操作 

        1.取值

In [11]: le = ['insert','append','remove','pop','sort']In [12]: le[0]
Out[12]: 'insert'In [13]: le[-1]
Out[13]: 'sort'

        2.嵌套的列表取值 

In [23]: l3 = [['one','two','three'],[1,2,3]]In [24]: l3[0]
Out[24]: ['one', 'two', 'three']In [25]: l4 = l3[0]In [26]: l4
Out[26]: ['one', 'two', 'three']In [27]: l4[1]
Out[27]: 'two'In [28]: l3[0][1]
Out[28]: 'two'In [29]: l3[1][1]
Out[29]: 2

        3.就地修改 

In [32]: li = ['liang',1314,'521']In [33]: li[0] = '亮'In [34]: li
Out[34]: ['亮', 1314, '521']

 

        4.切⽚ 

In [35]: line = 'Size: 8192 MB\n'In [36]: line[:-1]
Out[36]: 'Size: 8192 MB'In [37]: line[:-1].split(": ")
Out[37]: ['Size', '8192 MB']In [38]: line
Out[38]: 'Size: 8192 MB\n'In [39]: line.split(": ")
Out[39]: ['Size', '8192 MB\n']In [40]: line[:-1].split(": ")
Out[40]: ['Size', '8192 MB']In [41]: a,b = ['Size', '8192 MB']In [42]: a
Out[42]: 'Size'In [43]: b
Out[43]: '8192 MB'In [44]: a,b = line[:-1].split(": ")In [45]: a
Out[45]: 'Size'In [46]: b
Out[46]: '8192 MB'In [47]: line.split(": ")
Out[47]: ['Size', '8192 MB\n']In [48]: a,b = line.split(": ")In [49]: a
Out[49]: 'Size'In [50]: b
Out[50]: '8192 MB\n'In [51]: b = b[-1]In [52]: b
Out[52]: '\n'In [53]: a
Out[53]: 'Size'In [54]: b
Out[54]: '\n'In [55]: a,b = line.split(": ")In [56]: a
Out[56]: 'Size'In [57]: b
Out[57]: '8192 MB\n'In [58]: b = b[:-1]In [59]: b
Out[59]: '8192 MB'In [60]: line
Out[60]: 'Size: 8192 MB\n'In [61]: line.split('\n')
Out[61]: ['Size: 8192 MB', '']In [62]: line.split('\n')[:-1]
Out[62]: ['Size: 8192 MB']

 

 

        5.必会⽅法 

                len()⽅法是⼀个内置函数,可以统计序列类型的数据结构的⻓度。

In [64]: li = ['liang',1314,'521']In [65]: len(li)
Out[65]: 3

                in判断元素是否存在于列表中。

In [66]: '521' in li
Out[66]: TrueIn [67]: 521 in li
Out[67]: FalseIn [68]: 1314 in li
Out[68]: TrueIn [69]: if 'liang' in li:...:     print('ok')...: 
okIn [70]: 

                append() 向列表的最后位置,添加⼀个元素,只接收⼀个参数。

In [70]: li.append(521)In [71]: li
Out[71]: ['liang', 1314, '521', 521]

                insert() 向原列表的指定位置插⼊⼀个元素,接收两个参数,第⼀个是索引号,第⼆个是要插⼊的元素。

In [72]: li.insert(0,521)In [73]: li
Out[73]: [521, 'liang', 1314, '521', 521]

                remove() 移除列表中某个指定的元素,没有返回值,并且假如有多个相同值的元素存在,每次只会移除排在最前⾯的那个元素。

In [74]: li.remove(521)In [75]: li
Out[75]: ['liang', 1314, '521', 521]

                pop()从原列表中删除⼀个元素,并且把这个元素返回。 接收零个或⼀个参数,参数是偏移量,int 类型。

# 删除列表中的最后⼀个元素
In [76]: li.pop()
Out[76]: 521# 删除列表中的最后⼀个元素,并且返回这个元素,⽤变量
名'v' 接收。
In [77]: v = li.pop()In [78]: v
Out[78]: '521'In [79]: li
Out[79]: ['liang', 1314]# 删除列表中第1个索引号对应的元素
In [80]: li.pop(1)
Out[80]: 1314In [81]: li
Out[81]: ['liang']

 

 

五、循环列表 

        1.for 循环语法

for 变量 in 可迭代对象:循环体的代码,必须缩进 4 个空格多⾏代码缩进要⼀致

        可迭代对象 可以理解为可以被 for 循环的数据。 ⽐如: 字符串、列表、元组、⽂件对象(后⾯讲)等。

        2.for 循环列表中的元素

In [83]: li = ['liang',1314,'521','ll']In [84]: for i in li:...:     print(i)...: 
#结果
liang
1314
521
llIn [85]: 

 

 

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/475596.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PostgreSQL Error Codes (PostgreSQL错误代码)

Whats PostgreSQL Error Codes PostgreSQL服务器发出的所有消息都分配了五个字符的错误代码, 这些代码遵循 SQL 的"SQLSTATE"代码的约定。 需要知道发生了什么错误条件的应用程序通常应该检测错误代码,而不是查看文本错误消息。 这些错误代码…

【激光SLAM】激光的前端配准算法

文章目录 ICP匹配方法(Point to Point)PL-ICP匹配方法(Point to Line)基于优化的匹配方法(Optimization-based Method)优化方法的求解地图双线性插值拉格朗日插值法——一维线性插值 相关方法(C…

Unittest+Selenium模块驱动自动化测试实战

UnittestSelenium自动化测试框架使用模块驱动测试模型将冗余的代码封装成类,且基于PageObject的自动化设计模式,通过分层的方式将页面对象、操作、业务分开处理。 1、首先创建自动化测试框架的文件模块架构,创建common、base、testcase、rep…

java之VO,BO,PO,DO,DTO

概念 VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。DTO(Data Transfer Object):数据传输对象,这…

Java+Vue+MySQL,国产动漫网站全栈升级

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

【.NET Core】深入理解async 和 await 理解

【.NET Core】深入理解async 和 await 理解 文章目录 【.NET Core】深入理解async 和 await 理解一、概述二、async异步执行机制理解三、async与await应用3.1 async与await简单应用3.2 带有返回值async与await应用 四、async和await中常见问题总结4.1 当方法用async标识时&…

16.Qt 工具栏生成

目录 前言: 技能: 内容: 1. 界面添加 2. 信号槽 功能实现 参考: 前言: 基于QMainWindow,生成菜单下面的工具栏,可以当作菜单功能的快捷键,也可以完成新的功能 直接在UI文件中…

Sora 的工作原理(及其意义)

原文:How Sora Works (And What It Means) 作者: DAN SHIPPER OpenAI 的新型文本到视频模型为电影制作开启了新篇章 DALL-E 提供的插图。 让我们先明确一点,我们不会急急忙忙慌乱。我们不会预测乌托邦或预言灾难。我们要保持冷静并... 你…

【漏洞复现-通达OA】通达OA swfupload_new存在前台SQL注入漏洞

一、漏洞简介 通达OA(Office Anywhere网络智能办公系统)是由北京通达信科科技有限公司自主研发的协同办公自动化软件,是与中国企业管理实践相结合形成的综合管理办公平台。通达OA为各行业不同规模的众多用户提供信息化管理能力,包括流程审批、行政办公、日常事务、数据统计…

【Linux】简单的网络计算器的实现(自定义协议,序列化,反序列化)

文章目录 前言一、 服务端1.ServerCal.cc(服务器主文件)2.ServerCal.hpp3.Sock.hpp(套接字封装)4.TcpServer.hpp(服务器)5.Protocol(自定义协议) 二、用户端1.ClientCal 三、Log.hpp(日志)四、makefile 前言…

Java_方法(重载方法签名等详解)

在之前我们学习C语言时,当我们想要重复使用某段代码的功能时,我们会将这段代码定义为一个函数,而在java中我们把这段重复使用的代码叫做方法。 方法的定义 类体的内容分为变量的声明和方法的定义,方法的定义包括两部分&#xff1…

2024/2/18:IO进程线程

作业1&#xff1a;使用fgets统计给定文件的行数 代码&#xff1a; #include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, const char *argv[]) {//定义FILE *类型的句柄FILE *fpNULL;//判断是否进行了外部传参if(argc ! 2){pri…