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.mzph.cn/news/688533.shtml

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

相关文章

VQ35 评论替换和去除(char_length()和replace函数的使用)

代码 select id ,replace(comment,,,) as comment from comment_detail where char_length(comment)>3知识点 要注意替换的是中文逗号 由于题目说的是汉字长度大于3,所以这里就要使用char_length()而不是length() char_length():单位为字…

java解决最大字符串配对数目

java解决最大字符串配对数目 01 题目 给你一个下标从 0 开始的数组 words ,数组中包含 互不相同 的字符串。 如果字符串 words[i] 与字符串 words[j] 满足以下条件,我们称它们可以匹配: 字符串 words[i] 等于 words[j] 的反转字符串。0 &…

Windows10使用u盘制作linux启动盘踩坑记

双系统方法有三种:1.虚拟机2.windows提供了ubuntu虚拟软件3.制作启动盘 本篇提供Windows10为基础使用u盘做启动盘可以使用linux双系统。 步骤一、 在Ubuntu官网下载镜像,很简单找到对应版本和机器型号,注意区分64位和x86,基本上…

day1 2/18

1> 使用fgets统计给定文件的行数 #include<myhead.h> int main(int argc, const char *argv[]) {if(argc!2){printf("enter error\n");return -1;}FILE*fpNULL;if((fpfopen(argv[1],"r"))NULL){perror("fopen error");return -1;}i…

详解C语言10大字符串函数【超详细建议点赞收藏】

目录 1. strlen----求字符串长度1.1 函数介绍1.2 函数使用1.3 模拟实现 2. strcpy----字符串拷贝2.1 函数介绍2.2 函数使用3.3 模拟实现 3. strcat----字符串追加3.1 函数介绍3.2 函数使用3.3 模拟实现 4. strcmp----字符串比较4.1 函数介绍4.2 函数使用 5. strncpy----长度受限…

【算法题】109. 有序链表转换二叉搜索树

题目 给定一个单链表的头节点 head &#xff0c;其中的元素 按升序排序 &#xff0c;将其转换为高度平衡的二叉搜索树。 本题中&#xff0c;一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差不超过 1。 示例 1: 输入: head [-10,-3,0,5,9] 输出: [0,-3,…

Code Composer Studio V6 (CCS) - 添加 simulation 功能

Code Composer Studio V6 [CCS] - 添加 simulation 功能 References copy 整个 D:\ti\ccsv5\ccs_base\simulation\ 到 ccsv6 对应目录下 D:\ti\ccsv5\ccs_base\simulation C:\ti\ccsv6\ccs_base\simulation\ copy 整个 D:\ti\ccsv5\ccs_base\common\targetdb\configurations\…

innoDB page页结构详解

Page是整个InnoDB存储的最基本构件,也是InnoDB磁盘管理的最小单位,与数据库相关的所有内容都存储在这种Page结构里。 Page分为几种类型,常见的页类型有数据页(B+tree Node)Undo页(Undo Log Page)系统页(System Page) 事务数据页(Transaction System Page)等 Page 各…

建议收藏:Java学习路径:从入门到精通的分阶段指南!如何快速掌握Java知识体系?学习Java的最佳路径和分步阶段详解

Java&#xff0c;作为一种跨平台、面向对象的编程语言&#xff0c;自1995年诞生以来&#xff0c;就因其稳定性和广泛的应用范围而深受欢迎。 对于编程新手来说&#xff0c;掌握Java不仅能够开启软件开发的大门&#xff0c;还能为未来的职业生涯奠定坚实的基础。 本文将详细介…

二.重新回炉Spring Framework:Spring Framework主要组件概览

1.写在前面的话 这里主要简单说一下Spring Framework的几个核心组件的总体情况。为了比较直观&#xff0c;这里使用了ClassPathXmlApplicationContext的类图来进行说明。它基本上包含了 IoC 体系中大部分的核心类和接口。类图如下图所示&#xff1a; 2.Resource 组件体系 R…

JS的面向对象:一.创建对象

在JavaScript中&#xff0c;有多种方法可以创建对象。以下是一些常见的方法&#xff1a; 使用对象字面量&#xff1a;这是创建对象最简单的方法之一。可以直接在代码中定义对象及其属性和方法。 let person {name: "Alice",age: 30,greet: function() {console.lo…

常用类与基础API-String的理解和不可变性

1.String类的理解 1.1类的声明 public final class String >final &#xff1a;String是不可继承的。 >Serializable :可序列化的接口,凡是实现此接口的类的对象就可以通过网络或本地流进行数据的传输 >comparable:凡是实现此接口的类,其对象都可以比较大小. 1.…

Qt - 不同类之间槽函数和信号的连接

说明 本文记录了自己在写一个五子棋游戏中的所遇到的一个问题&#xff0c;我被这个小问题卡了好久才解决。作为一个Qt小白 &#xff0c;如有错误请多多包含&#xff0c;并可以在评论区留言~~ 方案一 widget类&#xff08;相当于游戏主菜单&#xff09; // widget.h Chessbo…

华清远见嵌入式学习——驱动开发——作业1

作业要求&#xff1a; 通过字符设备驱动分步注册过程实现LED驱动的编写&#xff0c;编写应用程序测试&#xff0c;发布到CSDN 作业答案&#xff1a; 运行效果&#xff1a; 驱动代码&#xff1a; #include <linux/init.h> #include <linux/module.h> #include &l…

华清远见作业第三十六天和第三十七天——C++(第五天和第六天)

思维导图&#xff1a; 第五天&#xff1a; 第六天&#xff1a; 作业&#xff1a; 编程题&#xff1a; 以下是一个简单的比喻&#xff0c;将多态概念与生活中的实际情况相联系&#xff1a; 比喻&#xff1a;动物园的讲解员和动物表演 想象一下你去了一家动物园&#xff0c;…

常见的几种Web安全问题测试简介

Web项目比较常见的安全问题 1.XSS(CrossSite Script)跨站脚本攻击 XSS(CrossSite Script)跨站脚本攻击。它指的是恶意攻击者往Web 页面里插入恶意html代码&#xff0c;当用户浏览该页之时&#xff0c;嵌入其中Web 里面的html 代码会被执行&#xff0c;从而达到恶意用户的特殊…

什么是自动化测试?如何做自动化测试?

前面介绍了功能测试和接口测试&#xff0c;在介绍接口测试时提到了实现API自动化。那具体什么是自动化&#xff0c;为什么要做自动化&#xff0c;这里我们集中总结。 一. 什么是自动化&#xff1f; 顾名思义&#xff0c;自动化测试是相对人工测试而言的&#xff0c;它是指把人…

npm ERR! network This is a problem related to network connectivity.

问题详细描述 PS D:\ALearnBlog\shiyi-blog\blog-web> npm install -g vue/cli npm ERR! code ETIMEDOUT npm ERR! syscall connect npm ERR! errno ETIMEDOUT npm ERR! network request to https://registry.npmjs.org/vue%2fcli failed, reason: connect ETIMEDOUT 104.1…

Linux+Win双系统远程重启到Win

背景 电脑安装了双系统&#xff08;ubuntu 22.04 win11&#xff09;&#xff0c;默认进入ubuntu系统。给电脑设置了WoL(Wake-on-LAN)&#xff0c;方便远程开机远程控制。 但是ubuntu的引导程序grub无法远程控制&#xff0c;远程开机会默认进入ubuntu。 虽然说可以进入ubuntu后…

css2背景

css2背景 一.背景颜色二.背景图片三.背景平铺四.背景图片位置五.背景图像固定六.复合型写法七.背景颜色半透明八.总结 一.背景颜色 默认是transparent(透明&#xff09; 二.背景图片 默认是none 三.背景平铺 默认是background-repeat(平铺&#xff09; 四.背景图片位置…