学习记录(Python列表)
列表(List)是Python语言中最通用的序列数据结构之一,列表是一个没有固定长度的,用来表示任意类型对象的位置相关的有序集合。列表中的数据项不需要具有相同的数据类型
列表的基本操作:
1.创建列表
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可
>>>list1 = ['physics','chemistry',2016,2017]
>>>list2 = [1,2,3,4,5,6]
>>>list3 = ['a','b','c']
2.访问列表
可以使用下标索引来访问列表中的值,也可以使用方括号的形式截取字符
>>>list1 = ['physics','chemistry',2016,2017]
>>>list2 = [1,2,3,4,5,6]
>>>list3 = ['a','b','c']
>>>print ('list1[0]:' , list1[0])
>>>print ('list2[1:4]' , list2[1:4])
运行结果
list1[0]: physics
list2[1:4]: [2,3,4]
3.列表元素赋值
列表元素赋值主要包括两种方法:列表整体赋值和列表指定位置赋值
>>>x = [1,2,3,4,5]
>>>x
[1,2,3,4,5]
>>>x[2] = 1
>>>x
[1,2,1,4,5]
注意:赋值过程中要注意边界问题,如果超出则会提示索引超出范围
4.列表元素的删除
使用del语句可以轻松的实现列表元素的删除
>>>x = [1,2,3,4,5]
>>>del x[2]
>>>x
[1,2,4,5]
5.列表分片赋值
分片操作可以用来访问一定范围内的元素,也可以用来提取序列的一部分内容
>>>list = ['a','b','c','d']
>>>print(list[1:3])
['b','c']
列表常用的函数和方法:
| 函数和方法 | 说明 |
| append() | 在列表的末尾追加对象 |
| count() | 统计某元素在列表中出现的次数 |
| extend() | 在列表的末尾一次性追加另一个序列的多个 值 |
| insert() | 将对象插入列表中 |
| pop() | 移除列表中的一个元素,并返回该元素的值 |
| reverse() | 将列表中的元素反向存储 |
| sort() | 对列表进行排序 |
| index() | 在列表中找出某个值第一次出现的位置 |
| remove() | 用于移除列表中某个值得第一个匹配项 |
| cmp() | 用于比较两个列表中的元素 |
| len() | 返回列表中元素的个数 |
| max() | 返回列表中元素的最大值 |
| min() | 返回列表中元素的最小值 |
方法举例:
(1)append()
>>>te = [1,2,3,4]
>>>te.append(7)
>>>te
[1,2,3,4,7]
(2)count ()
>>>te = ['h','a','p','p','y']
>>>te.count('p')
2
count()方法可以统计列表中任意元素出现的次数
>>>te = [[7,1],2,2,[2,[7,1]]]
>>>te.count(2)
2
>>>te.count([7,1])
1
(3)extend()
注意:与序列的链接操作不同,使用extend()方法修改了被扩展的序列
>>>one = ['a','b','c','d']
>>>two = ['e','f','g']
>>>one.extend(two)
>>>one
['a','b','c','d','e','f','g']
>>>a = ['a','b','c','d']
>>>b = ['e','f','g']
>>> a+ b
['a','b','c','d','e','f','g']
>>>a
['a','b','c','d']
(4)insert()
>>>te1 = ['a','b','d','e']
>>>te1.insert(2,'c')
>>>te1
['a','b','c','d','e']
(5)reserse()
>>>te = [1,2,3,4,5]
>>>te.reserse()
>>>te
[5,4,3,2,1]
(6)remove()
>>>te = [1,2,1,3,4,5]
>>>te.remove(1)
>>>te
[1,2,3,4,5]
(7)sort()
>>>te = [2,9,6,8,3,1]
>>>te.sort()
>>>te
[1,2,3,6,8,9]
(8)cmp()
cmp(x, y)用于比较两个列表的元素。如果x<y则返回-1,x=y 则返回0,x>y 则返回1。cmp(的比较方法如下。
●如果比较的元素是同类型的, 则比较其值,返回结果。
●如果两个元素不是同一一种类型,则检查它们是否是数字。
●如果是数字,执行必要的数字强制类型转换,然后比较;
●如果有一方的元素是数字,则另- -方的元素大(数字最小);否则,通过类型名字的字母顺序进行比较。
●如果有一个列表首先到达末尾,则另一个长一点的列表大。
●如果用尽了 两个列表的元素而且所有元素都是相等的,返回0。
学习记录(Python列表)的更多相关文章
- 【代码学习】PYTHON 列表循环遍历及列表常见操作
一.for循环 为了更有效率的输出列表的每个数据,可以使用循环来完成 代码: A = ['xiaoWang','xiaoZhang','xiaoHua'] for tempName in A: pri ...
- 学习记录-Python的局部变量和全局变量
目录 1 定义 2 作用域的重要性 2.1 全局作用域中的代码不能使用任何局部变量 2.2 局部作用域中的代码可以访问全局变量 2.3 不同局部作用域中的变量不能相互调用 2.4 在不同的作用域中,可 ...
- Python学习记录day6
title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...
- Python大神成长之路: 第三次学习记录 集合 函数 装饰 re
学习记录day03 字符串可以直接切片,But字符串不可修改 字符串修改:生成了一个新的字符串 LIst修改,在原基础上修改(原内存上) 集合是一个无序的,不重复的数据组合,它的主要作用如 ...
- Python学习记录:括号配对检测问题
Python学习记录:括号配对检测问题 一.问题描述 在练习Python程序题的时候,我遇到了括号配对检测问题. 问题描述:提示用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确, ...
- Python全栈工程师系列学习之学习记录
@ 目录 前言 Day 01 一.python的历史和种类 二.安装python解释器以及配置环境变量 三.变量.常量和注释 Day 02 Day 03 Day 04 Day 05 Day 06 一. ...
- Python学习记录day5
title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...
- 记录Python学习中的几个小问题
记录Python学习中的几个小问题,和C#\JAVA的习惯都不太一样. 1.Django模板中比较两个值是否相等 错误的做法 <option value="{{group.id}}&q ...
- python学习笔记整理——列表
Python 文档学习笔记 数据结构--列表 列表的方法 添加 list.append(x) 添加元素 添加一个元素到列表的末尾:相当于a[len(a):] = [x] list.extend(L) ...
- !!对python列表学习整理列表及数组详细介绍
1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特 ...
随机推荐
- Serverless 实战 —— Funcraft + OSS + ROS 进行 CI/CD
前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute):函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算准 ...
- javascript数组大全(一张图列出数组的所有方法)
把所有数组的方法列在了一张图上,为了自己温故一下,也为了以后忘记时好查阅. 如果大家在上面查阅方法,可以找到对应的方法名,看前面简单的注释,还是不能明白的话,可以看一下官网说明,地址给大家列出来,MD ...
- [03]java中的方法以及控制语句
00 Java中的语句块 语句块(有时叫做复合语句),是用花括号扩起的任意数量的简单Java语句.块确定了局部变量的作用域.块中的程序代码,作为一个整体,是要被一起执行的.块可以被嵌套在另一个块中,但 ...
- 数据库并发处理 - 上的一把好"锁"
为什么要有锁? 我们都是知道,数据库中锁的设计是解决多用户同时访问共享资源时的并发问题.在访问共享资源时,锁定义了用户访问的规则.根据加锁的范围,MySQL 中的锁可大致分成全局锁,表级锁和行锁三类. ...
- 交换机广播风暴,STP生成树协议,端口聚合
交换机(工作在数据链路层)具有学习功能: 一台刚重启的交换机上的mac地址表为空,根据数据包的来源,目的地来学习MAC地址与端口的映射关系映射关系,对于MAC地址表之中已有的就不管了,对未知端 ...
- MySQL之性能优化
查看执行计划explain 1.1 Explain命令:它可以对select语句进行分析,并输出select执行的详细信息,以对开发人员针对性优化 1.2 Explain的用法:在selec ...
- Redis系列之----Redis的两种持久化机制(RDB和AOF)
Redis的两种持久化机制(RDB和AOF) 什么是持久化 Redis的数据是存储在内存中的,内存中的数据随着服务器的重启或者宕机便会不复存在,在生产环境,服务器宕机更是屡见不鲜,所以,我们希望 ...
- 体验.NET Core 命令行应用程序-CommandLineUtils
前言 在我们开发中可能需要设计一次性应用程序,这些实用程序可以利用接近原始源代码的优势,但可以在与主Web应用程序完全独立的安全性上下文中启动.具体在 [管理过程](https://12factor. ...
- JUnit 5和Selenium基础(二)
使用Selenium内置的PageFactory实现页面对象模式 在这一部分中,将通过Selenium的内置PageFactory支持类来介绍Page Object模式的实现.PageFactory提 ...
- 微信小程序修改checkbox的样式
修改前: 修改后: wxml代码: <checkbox class="checkbox" /> wxss代码: /* checkbox选中钱样式 */ checkbox ...