列表也叫数组,列表定义,使用[]即可;列表里面可以再套列表,一个里面套一个列表,叫二维数组;一个里面套一个列表,里面的列表再套一个列表,这个叫三维数组,套几层就是几维,定义格式如下:

  1. list1 = [1,2,3,4] #一个普通的数组
  2. list2 = ['marry','lily',[50,'monkey']] #二维数组
  3. list3 = ['name','sex',['lily',124,['aaaa','bbb']]] #三维数组

一、访问列表中的值

使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:

  1. list1 = ['Google', 'baidu', 1997, 2000]
  2. list2 = [1, 2, 3, 4, 5, 6, 7]
  3. list3 = [1,2,[1,2,[1,2,3,4,5],4],4]
  4. print(list1[0])
  5. print(list2[1:5])
  6. print(list3[2][2][3])

返回:

  1. Google
  2. [2, 3, 4, 5]
  3. 4

切片,切片也就是另一种方式获取列表的值,它可以获取多个元素,可以理解为,从第几个元素开始,到第几个元素结束,获取他们之间的值,格式是name:[1:10](获取第2到第10个元素),切片是不包含后面那个元素的值的,记住顾头不顾尾前面的下标如果是0的话,可以省略不写,这样写,name[:6],切片后面还有可以写一个参数,叫做步长,也就是隔多少个元素,取一次,默认可以不写,也就是隔一个取一次,如下:

  1. names = [1,2,3,4,5,6,7]
  2. print(names[1:4]) #取下标1至下标4之间值,包括1,不包括4
  3. print(names[1:-1]) #取下标1至-1的值,不包括-1
  4. print(names[0:3]) #取下标0至3的值,不包括3
  5. print(names[:3])#取下标03的值,不包括3,和上面的效果一样,0可以省略不写
  6. print(names[2:])#取从第二个下标开始的后面所有元素
  7. #下面是加上步长的
  8. nums = [1,2,3,4,5,6,7,8,9,10]
  9. print(nums[::2])#这个代表取所有的元素,然后每隔2个元素取一个
  10. print(nums[1:8:3])#代表取第二个元素开始,到第八个结束,隔3个取一次

返回:

  1. [2, 3, 4]
  2. [2, 3, 4, 5, 6]
  3. [1, 2, 3]
  4. [1, 2, 3]
  5. [3, 4, 5, 6, 7]
  6. [1, 3, 5, 7, 9]
  7. [2, 5, 8]

二、列表操作

1、增

  1. msg = '你好'
  2. name = ['小明','小白','小黑']
  3. name.append(msg)#从最后面开始插入
  4. name.insert(1,msg) #从指定位置插入,这个1代表下标
  5. print(name)

返回:

  1. ['小明', '你好', '小白', '小黑', '你好']

2、改

  1. name = ['小明','小白','小黑']
  2. name[1] = '小红' #修改指定位置的值
  3. print(name)

返回:

  1. ['小明', '小红', '小黑']

3、删

  1. name= ['a','b','c','d']
  2. name.remove('a')#删除指定的值
  3. del name[2]#删除指定位置的值
  4. name.pop()#不传入下标的话,删除最后一个值,传入下标删除指定位置的值
  5. #name.clear()#清空列表
  6. print(name)

返回:

  1. ['b']

三、列表的内置方法

实例一:

  1. name = ['a','b','c','a','d']
  2. print(name.index('b'))#取索引
  3. print(name.count('a'))#取cc出现的次数

返回:

  1. 1
  2. 2

实例二:

  1. list1 = [1,2,2,2,34,4]
  2. list2 = [3,355,6,6]
  3. list1.extend(list2)#在列表末尾追加另一个序列中的值(用新列表扩展原来的列表)
  4. list2.reverse()#反转数组
  5. print(list1)
  6. print(list2)

返回:

  1. [1, 2, 2, 2, 34, 4, 3, 355, 6, 6]
    [6,6,355,3]

实例三:

  1. stus = [1,23,44,1,13,3,3,55]
  2. print(stus.count(2))#查看某个元素在这个里面的个数,如果该元素不存在,那么返回0
  3. print(stus.index(3))#找到这个元素的下标,如果有多个,返回第一个,如果找一个不存在的元素,会报错

返回:

  1. 0
  2. 5

实例四:

  1. nums = [9,31,345,12,457,352,1214,2321]
  2. nums.sort(reverse=True)# sort排序,默认排序是升序,如果指定了reverse=True就是按照降序拍
  3. print(nums)

返回:

  1. [2321, 1214, 457, 352, 345, 31, 12, 9]

四、list循环

  1. names = [1,2,3,4,5]
  2. for name in names:
  3. print(name)
  4. #如果直接for循环一个list的时候,那么每次循环的值都是这个list里面的元素

返回:

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5

python学习笔记(二)— 列表(list)的更多相关文章

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

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

  2. python学习笔记(二)、字符串操作

    该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于 ...

  3. python 学习笔记二_列表

    python不需要声明类型信息,因为Python的变量标识符没有类型. 在Python中创建一个列表时,解释器会在内存中创建一个类似数组的数据结构类存储数据,数据项自下而上堆放(形成一个堆栈).索引从 ...

  4. python学习笔记(二)---for循环与操作列表

    内容概要 for循环 range(start,end,step)函数 生成随机数列表 list()函数 将range()的结果整合到某个列表 列表的操作 切片(start: end :step) 元组 ...

  5. Python 学习笔记二

    笔记二 :print 以及基本文件操作 笔记一已取消置顶链接地址 http://www.cnblogs.com/dzzy/p/5140899.html 暑假只是快速过了一遍python ,现在起开始仔 ...

  6. Python学习笔记(1)-列表

    列表是什么? 列表由一系列按特定顺序排列的元素组成.列表看起来像这样:[1,2,3,4,1].在列表中,可以由零个或多个元素组成,元素之间用逗号分开,具有相同值元素允许出现多次 使用[ ]或list( ...

  7. (10.1)Python学习笔记二

    1.在项目工程中要模块化测试一个开发的功能,在测试通过后交付给项目组其他人员继续开发.要保证代码开发的性能和效率以及可扩展性. 2.项目工程中的文件夹分类要功能模块明确清晰,在python中引入某一个 ...

  8. python 学习笔记二 (列表推导式)

    2018年年初写了第一篇博客,说要做一个认真的技术人 https://www.cnblogs.com/yingchen/p/8455507.html 今天已经是11月19日了,这是第二篇博客,看来坚持 ...

  9. python学习笔记二--列表的使用

    一.基本列表操作 1. 合并‘+’:左右两边必须均为列表 可以用str(),%,list()做类型的转换后再做合并 2. 重复‘*’: 3. 迭代和解析: x作为for循环里步进变量,由于列表是序列, ...

  10. python学习笔记二--列表

    一.列表: 1. 任意类型对象的位置相关的有序集合. 2. 没有固定大小. 3. 对偏移量进行赋值及各种方法的调用,修改列表. 4. 列表是序列的一种. 5. 所有对字符串的序列操作对列表均适用. 二 ...

随机推荐

  1. 关闭IOS更新功能(ios4/5/6)

    防止IOS升级: 工具:ifunbox 展开/System/Library/LaunchDaemons,将下面4个文件删除(不推荐)或者改名(后缀也得改),改名后记得必须重启. com.apple.m ...

  2. 大数据(10) - HBase的安装与使用

    HBaes介绍 HBase是什么? 数据库 非关系型数据库(Not-Only-SQL) NoSQL 强依赖于HDFS(基于HDFS) 按照BigTable论文思想开发而来 面向列来存储 可以用来存储: ...

  3. SQL on Hadoop 的真相(2)

    转自:http://blog.jobbole.com/87159/ 这是一组系列博客,目的是详尽介绍 SQL-on-Hadoop .该系列的第一篇会介绍一些存储引擎和在线事务处理(简称 OLTP )相 ...

  4. Servlet开发-----基础及MVC设计模式

    一.Servlet介绍   Servlet本身只是普通的Java类,只有当容器为他创建了ServletConfig和ServletContext时才成为了一个Servlet:   Servlet简单的 ...

  5. java---springMVC与strutsMVC的区别

    spring mvc与struts的区别 标签: strutsspringmvcservletactiontomcat 2011-11-24 17:34 24205人阅读 评论(6) 收藏 举报  分 ...

  6. 【BZOJ】1668: [Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富(dp)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1668 裸dp.. f[i][j]表示i行j列最大能拿到 f[i][j]=max(f[i+1][j-1 ...

  7. 蓝桥杯 历届试题 剪格子(dfs搜索)

    历届试题 剪格子 时间限制:1.0s   内存限制:256.0MB 问题描述 如下图所示,3 x 3 的格子中填写了一些整数. +--*--+--+ |* || +--****--+ ||* | ** ...

  8. 通用性能测试过程模型GAME(A)

    1.3.1  Goal(定义目标) 制定一个明确而详细的测试目标是性能测试开始的第一步,也是性能测试成功的关键. 本步骤的开始时间:需求获取阶段 本步骤的输入:性能需求意向 本步骤的输出:明确的性能测 ...

  9. Loadrunner测试实例分析

    LoadRunner性能测试结果分析是个复杂的过程,通常可以从结果摘要.并发数.平均事务响应时间.每秒点击数.业务成功率.系统资源.网页细分图.Web服务器资源.数据库服务器资源等几个方面分析,如图1 ...

  10. ios开发之--CGRect/CGSize/CGPoint/CGVector/CGAffineTransform/UIEdgeInsets/UIOffset和NSString之间的转换

    仅做记录,一个函数和字符串之间的互相转换 方法如下: UIKIT_EXTERN NSString *NSStringFromCGPoint(CGPoint point); UIKIT_EXTERN N ...