关于python列表的一些基础知识。
因学校实验室要求,自学了python,一开始看书觉得太简单了,也没有多动手去尝试,直到看完了前八章突然想动手试试的时候,人傻了,深刻体会到了好记性不如烂笔头的道理,故整理一些python列表的操作。
PS:我看的书是Eric Mathes著的《Python编程 从入门到实践》,尽管我想吐槽是让我从入门到放弃,但还是要学下去啊。
1.1列表简介
列表是什么?在python中,用方括号[]表示列表,并用逗号来分隔其中的元素,列表是一个有序的集合,第一个列表元素的索引是0而非1。
1.2修改、添加和删除元素
1.2.1修改元素
例如现有一个列表为letter = ['a', 'b',] ,而如果我想要修改其中的元素可直接利用索引访问并且修改例如:letter[0] = ‘c’,这之后的列表变为letter = [‘c’, 'b']
1.2.2添加元素
1.2.2.1在列表末尾添加元素
可直接使用方法append()来将元素添加到列表的末尾,方法append()让动态地创建列表易如反掌【不禁让我想起了学习C语言可变数组时的痛】
letter = []
letter.append('a')
letter.append('c')
print(letter)
可以得到输出:['a', 'c']
1.2.2.2在列表中间插入元素
可使用方法insert()在列表的任何位置添加新元素。例如在上面的代码中可以加上:letter.insert(1,'b'),即可得到输出:['a', 'b', 'c']
1.2.3删除元素
1.2.3.1使用del删除元素,条件是要知道该元素的索引,例如上面的代码可以删除‘a’,则是:del letter[0]
1.2.3.2使用pop()删除末尾元素,它可以删除列表末尾的元素,并让你能够接着使用它。术语弹出(pop)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶的元素。
letter = ['a', 'b', 'c']
print(letter)
l = letter.pop()
print(l)
可以得到输出:
['a', 'b', 'c']
c
1.2.3.3使用pop()删除任何位置处的元素,使用方法为pop(你所想要删除的元素的索引),即弹出的元素不再是最后一个,而是你给的索引对应的元素。
1.2.3.4根据元素的值删除元素,可使用方法remove()
letter = ['a', 'b', 'c']
print(letter)
letter.remove('a')
print(letter)
可得到输出:
['a', 'b', 'c']
['b', 'c']
注意:方法remove()只删除第一个指定的值,例如一个列表中同一个值出现多次时则需要使用循环来判断是否删除完了该列表中的所有这个值。
1.2.4组织列表
1.2.4.1使用方法sort()对列表进行永久性排序,如果是排序字母的话,则是遵从a-z的顺序进行排序,如果在sort()的括号中添加reverse=True,即sort(reverse=True)则可以按与字母顺序相反的顺序排列列表元素。
letter = ['a', 'z', 'c', 'f']
letter.sort(reverse=True)
print(letter)
可得到输出:['z', 'f', 'c', 'a']
1.2.4.2使用sorted()对列表进行临时性排序,同样的添加reverse=True,即sorted(reverse=True)也可按相反顺序排序。
1.2.4.3倒着打印列表可使用reverse(),永久性地修改了列表元素地排列顺序
letter = ['a', 'z', 'c', 'f']
letter.reverse()
print(letter)
可得到输出:['f', 'c', 'z', 'a']
1.2.4.4确定列表的长度可以使用len(列表名称)
暂且先写那么多,图书馆太冷了,溜了溜了。
关于python列表的一些基础知识。的更多相关文章
- python快速改造:基础知识
改造"Hacking"并不同于破坏"cracking" python快速改造:基础知识 一行就是一行,不管多少,不用加分号 交互式python解释器可以当作计算 ...
- 深入理解python(一)python语法总结:基础知识和对python中对象的理解
用python也用了两年了,趁这次疫情想好好整理下. 大概想法是先对python一些知识点进行总结,之后就是根据python内核源码来对python的实现方式进行学习,不会阅读整个源码,,,但是应该会 ...
- Python学习第二节——基础知识
# !/usr/bin/edv python 脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它.# -*- coding:UTF-8 -*- 标明编码注释 ...
- python - 接口自动化 - 接口测试基础知识
# -*- coding:utf-8 -*- '''@project: jiaxy@author: Jimmy@file: study_接口测试基础知识一.py@ide: PyCharm Commun ...
- Python学习之并发基础知识
8 并发编程 8.1 基础知识 8.1.1 操作系统的定义 操作系统是存在于硬件与软件之间,管理.协调.调度软件与硬件的交互. 资源管理解决物理资源数量不足和合理分配资源这两个问题, 通俗来说,操作系 ...
- (一)Python 学习第一天--基础知识,列表
1. .pyc文件 .pyc文件:在python3中,当模块运行时会自动生成在_pycache_文件夹中,其中c为compiled的缩写. Python是一门现编译后解释的语言,在运行时首先寻找.py ...
- [Python笔记]第一篇:基础知识
本篇主要内容有:什么是python.如何安装python.py解释器解释过程.字符集转换知识.传参.流程控制 初识Python 一.什么是Python Python是一种面向对象.解释型计算机程序设计 ...
- 【Python升级录】--基础知识
创建角色成功! 正在载入python........ [python介绍] python是一门动态解释性的强类型定义语言. python的创始人为吉多·范罗苏姆(Guido van Rossum).1 ...
- Python记录1:基础知识常识
今日内容: 一,Python的数据类型 Python一共有以下几种常见的数据类型:int(整形) float(浮点型) str(字符串) list(列表) tuple元组 dict(字典) ...
随机推荐
- Node.js Windows Binary二进制文件安装
1.下载文件 安装包的下载路径为:https://nodejs.org/en/download/ 选择你需要的版本,这里我选择了 Windows Binary 64-bit 版本. 2.配置npm安装 ...
- 基于ubuntu16的mqtt服务器(apache-apollo1.7.1)
感谢博客:https://www.cnblogs.com/chenrunlin/p/5109028.html 需要环境: java1.8 把文件通过finalshell扔到/usr/local目录下 ...
- addEventListener() 方法,事件监听(去哪儿网用到过)
addEventListener() 方法,事件监听 你可以使用 removeEventListener() 方法来移除事件的监听. 语法 element.addEventListener(event ...
- 头条面试题-创建一个Event类,并创建on、off、trigger、once方法
一.创建一个Event.js class Event { constructor() { this.handlers = { // 记录所有的事件和处理函数 } } /* * * on 添加事件监听 ...
- springmvc 参数校验/aop失效/@PathVariable 参数为空
添加依赖 <!-- 参数校验 --> <dependency> <groupId>org.hibernate.validator</groupId> & ...
- stm32外部时钟源8M换成12M后库函数相应修改总结
前言 在做“自制继电器上位机控制软件”项目的时候,下位机用到USB虚拟串口,将以前写好的USB虚拟串口程序移植到下位机,发现程序计算机无法识别到虚拟串口STMicroelectronics Virtu ...
- Spring+dubbo错误(二)
ERROR [TestContextManager.java:231] Caught exception while allowing TestExecutionListener [org.sprin ...
- 深入浅出ES6的标准内置对象Proxy
Proxy是ES6规范定义的标准内置对象,可以对目标对象的读取.函数调用等操作进行拦截.一般来说,通过Proxy可以让目标对象"可控",比如是否能调用对象的某个方法,能否往对象添加 ...
- windows系统下的maven项目放到linux系统中运行时报org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnection这种异常的解决办法
这个错误的解决办法其实很简单你把连接mysql数据库的那个jar包换成linux版本的就行了: linux版本的连接mysql数据库的jar包链接:http://files.cnblogs.com/f ...
- 洛谷P2602 [ZJOI2010]数字计数 题解 数位DP
题目链接:https://www.luogu.com.cn/problem/P2602 题目大意: 计算区间 \([L,R]\) 范围内 \(0 \sim 9\) 各出现了多少次? 解题思路: 使用 ...