列表(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列表)的更多相关文章

  1. 【代码学习】PYTHON 列表循环遍历及列表常见操作

    一.for循环 为了更有效率的输出列表的每个数据,可以使用循环来完成 代码: A = ['xiaoWang','xiaoZhang','xiaoHua'] for tempName in A: pri ...

  2. 学习记录-Python的局部变量和全局变量

    目录 1 定义 2 作用域的重要性 2.1 全局作用域中的代码不能使用任何局部变量 2.2 局部作用域中的代码可以访问全局变量 2.3 不同局部作用域中的变量不能相互调用 2.4 在不同的作用域中,可 ...

  3. Python学习记录day6

    title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...

  4. Python大神成长之路: 第三次学习记录 集合 函数 装饰 re

    学习记录day03   字符串可以直接切片,But字符串不可修改 字符串修改:生成了一个新的字符串 LIst修改,在原基础上修改(原内存上)     集合是一个无序的,不重复的数据组合,它的主要作用如 ...

  5. Python学习记录:括号配对检测问题

    Python学习记录:括号配对检测问题 一.问题描述 在练习Python程序题的时候,我遇到了括号配对检测问题. 问题描述:提示用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确, ...

  6. Python全栈工程师系列学习之学习记录

    @ 目录 前言 Day 01 一.python的历史和种类 二.安装python解释器以及配置环境变量 三.变量.常量和注释 Day 02 Day 03 Day 04 Day 05 Day 06 一. ...

  7. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

  8. 记录Python学习中的几个小问题

    记录Python学习中的几个小问题,和C#\JAVA的习惯都不太一样. 1.Django模板中比较两个值是否相等 错误的做法 <option value="{{group.id}}&q ...

  9. python学习笔记整理——列表

    Python 文档学习笔记 数据结构--列表 列表的方法 添加 list.append(x) 添加元素 添加一个元素到列表的末尾:相当于a[len(a):] = [x] list.extend(L) ...

  10. !!对python列表学习整理列表及数组详细介绍

    1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特 ...

随机推荐

  1. 【题解】CF894E Ralph and Mushrooms (缩点)

    [题解]CF894E Ralph and Mushrooms (缩点) 这是紫?给个解方程算法 考虑一条边若可以重复遍历说明一定有环,有环的话一定会把环上的蘑菇榨干,考虑一条边从全部到榨干的贡献是多少 ...

  2. 1.2 UML带来了什么(学习笔记)

    需求->需求分析->设计->开发 uml 编号 uml元素 对于语言理解 1 元模型 基本词汇 2 表示法或视图 语法 3 RUP 方法(统一软件开发过程)  方法 4 控制类 定语 ...

  3. web前端常用知识点

    1.常见的块级元素  内联元素   div -最常用的块级元素      dl - 和dt-dd 搭配使用的块级元素      form - 交互表单      h1 -h6- 大标题      hr ...

  4. Java线程池学习总结

    一 使用线程池的好处 池化技术相比大家已经屡见不鲜了,线程池.数据库连接池.Http 连接池等等都是对这个思想的应用.池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率. 线程池提供了 ...

  5. Freemarker 的基础使用 (一)

    以下内容来自:http://www.oschina.net/p/freemarker FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写. FreeMarker ...

  6. 《C++Primer》第五版习题答案--第二章【学习笔记】

    C++Primer第五版习题解答---第二章 ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/9 第二章:变量和基本类型 练习2.1: 类 ...

  7. Date类与日期格式

    Date类概述: 表示特定的瞬间,精确到毫秒. Date()分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒).Date(long date)分配 Date 对象并初始化此对象,以表 ...

  8. Java类成员之方法

    方法含义: 1. 方法是类或对象行为特征的抽象,用来完成某个功能操作. 2.在某些语言中也称为函数或过程. 3.将功能封装为方法的目的是简化代码,可以实现代码重用. 4.在Java里的方法不能独立存在 ...

  9. 我是如何做到springboot自动配置原理解析

    一前言 springboot 2.0.0版本分析,整体的自动配置流程如下: 具体配置参考官方文档:springboot-doc 二 @SpringBootApplication 核心注解@Spring ...

  10. uni-app,vue,react,Trao之缓存类封装

    uni-app,vue,react,Trao之缓存类封装 一,介绍与需求 1.1,介绍 缓存主要分为如下几个 1.LocalStorage LocalStorage是永久性的本地缓存,存储在客户端的浏 ...