列表是什么?

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

使用[ ]或list()创建列表

  例如创建一个空列表

  empty_list = [ ]或者 empty_list = list()

使用list()将其他数据类型转换成列表

字符串列表:

>>> list('cat')

['c', 'a', 't']

元组列表:

>>> num = (1,2,3)

>>> list(num)

[1, 2, 3]

使用[offset]获取元素

从0开始计算,也可以用负数,尾部为-1

>>> a = [2,3,4,5]

>>> a[0]

2

>>> a[-1]

5

使用index列表元素的位置

>>> a

[2, 3, 4, 'a', 'b', 'c']

>>> a.index('a')

3

当指定偏移量超出列表范围,会产生IndexError错误。

利用切片取得子列表

[first:end:(step)]

>>> a = [1,2,3,4,5,6]

>>> a[::1]

[1, 2, 3, 4, 5, 6]

>>> a[::2]

[1, 3, 5]

>>> a[::-2]

[6, 4, 2]

使用[offset]修改元素

>>> a = [1,2,3,4,5,6]

>>> a[0]=10

>>> a

[10, 2, 3, 4, 5, 6]

在列表末添加元素(append)

>>> a = [1,2,3]

>>> a.append(4)

>>> a

[1, 2, 3, 4]

在列表指定位置添加元素(insert)

>>> a

[1, 2, 3, 4]

>>> a.insert(1,'happy')

>>> a

[1, 'happy', 2, 3, 4]

一个列表合并到另一个列表(extend)

>>> a = [1,2,3,4]

>>> b = ['a','b','c']

>>> a.extend(b)

>>> a

[1, 2, 3, 4, 'a', 'b', 'c']

删除位置元素

使用del语句删除任何位置元素

>>> a

[1, 2, 3, 4, 'a', 'b', 'c']

>>> del a[0]

>>> a

[2, 3, 4, 'a', 'b', 'c']

使用方法pop删除元素

列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素

>>> a

[2, 3, 4, 'a', 'b', 'c']

>>> a.pop()

'c'

>>> a

[2, 3, 4, 'a', 'b']

>>> a.pop(2)

4

>>> a

[2, 3, 'a', 'b']

根据值删除元素(remove)

>>> a

[2, 3, 'a', 'b']

>>> a.remove(2)

>>> a

[3, 'a', 'b']

使用列表

列表用于保存变量

>>> [1,2,3,4,5]

列表用于循环

>>> a = [0,1,2,3,4]

>>> for i in a :#等价于for i in rang(5)

print(i)

0

1

2

3

4

in 和 not in 操作符

可以确定一个值是否在列表中,返回布尔值

>>> 1 in [0,1,2,3,4]

True

>>> 5 not in [0,1,2,3,4]

True

>>> 1 not in [0,1,2,3,4]

False

>>> 5 in [0,1,2,3,4]

False

多重赋值技巧

>>> one,two,three = [1,2,3]

>>> one

1

>>> two

2

>>> three

3

变量的数目和列表必须严格相等,否则Python将ValueError

常用方法

使用len()获取列表长度

>>> a

[0, 1, 2, 3, 4]

>>> len(a)

5

使用count()记录特定值出现的次数

>>> a = [1,2,3,4,3,5,1,1,3,1,3]

>>> a.count(1)

4

>>> a.count(3)

4

使用sort()重新排列元素

Python提供了二个函数

列表方法sort()会读对原列表进行排序,改变原列表内容;

通用函数sorted()则会返回排好序的列表副本,原列表内容不变。

>>> a = [5,4,3,2,1]

>>> a.sort()

>>> a

[1, 2, 3, 4, 5]

>>> a = [5,4,3,2,1]

>>> sorted(a)

[1, 2, 3, 4, 5]

>>> a

[5, 4, 3, 2, 1]

sort()方法注意

  1. 当场对列表排序,不要写出a = a.sort()这样的代码,试图记录返回值
  2. 不能对既有数字又有字符串值的列表排序,引起TypeError错误
  3. 对字符串排序时,使用"ASCII字符顺序"

使用join()转换为字符串

join()是split()的逆过程

>>> a = ['hello','world']

>>> b = ','.join(a)

>>> b

'hello,world'

>>> c = b.split(',')

>>> c

['hello', 'world']

使用=赋值,使用copy()赋值

如果使用=赋值多个变量,改变其中的任何一处会造成其他变量对应的值也被修改

>>> a = [1,2,3]

>>> b = a

>>> b[0] = 'a'

>>> a

['a', 2, 3]

>>> b

['a', 2, 3]

>>> a[2] = 'b'

>>> b

['a', 2, 'b']

>>> a

['a', 2, 'b']

因为a 和 b 指向的是同一个对象,因此,无论我们是通过 a 还是通过 b 来修改列表的内容,其结果都会作用于对方

我们可以通过下面3种方法,将一个列表的值复制到另一个新的列表中:

  1. b = a.copy()
  2. c = list(a)
  3. d = a[:]

b、c、d都是a的复制,改变任意一个变量都不会改变其他变量

Python学习笔记(1)-列表的更多相关文章

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

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

  2. python学习笔记-列表和字典

    由于最近在看深度学习的代码,看到需要建立字典和列表来存储什么东西的时候,就想要去把字典和列表好好的了解清楚,其应用范围,差别,等等东西 首先我们来介绍,在python中存在如下的数据结构:列表list ...

  3. python学习笔记(列表、元组、购物车实例)

    一.列表 列表和字典是最常用的两种数据类型 1. 需求:怎么存放班级80多人的姓名,如何实现? names = ["Zhangyang","Guyun",&qu ...

  4. Python学习笔记4—列表

    列表定义 >>> a=['] >>> type(a) <type 'list'> >>> bool(a) #列表有值,则为true T ...

  5. python学习笔记之列表与元组

    一.概述 python包含6种内建的序列,其中列表和元组是最常用的两种类型.列表和元组的主要区别在于,列表可以修改,元组则不能修改 使用上,如果要根据要求来添加元素,应当使用列表:而由于要求序列不可修 ...

  6. Python学习笔记_week2_列表、元组、字典、字符串、文件、i编码

    一. 列表.元组 names=["A","B","C","D"] print(names) print(names[0] ...

  7. Python学习笔记4—列表List

    列表定义 Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. >>> a=['] >>> type(a) &l ...

  8. python学习笔记(2)--列表、元组、字符串、字典、集合、文件、字符编码

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表和元组的操作 列表是我们以后最长用的数据类型之一,通过列表可以最方便的对数据实现最方便的存储.修改等操作 定 ...

  9. python学习笔记(三)-列表&字典

    列表: 一.列表操作"""Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.比如,列出班里所有同学的名字,就可以用一 ...

随机推荐

  1. vue过滤器用法实例分析

    过滤器: vue提供过滤器: capitalize uppercase currency.... ? 1 2 3 <div id="box">     {{msg|cu ...

  2. vue从入门到进阶:自定义指令directive,插件的封装以及混合mixins(七)

    一.自定义指令directive 除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令.注意,在 Vue2.0 中,代码复用和抽象的主要形式是组件.然而,有的 ...

  3. iphone怎么投屏到电脑屏幕上

    随着苹果手机的更显换代,苹果手机的功能越来越强大,其中iphone手机更新了airplay镜像功能,所以想要手机投屏电脑的小伙伴就更加方便了,但是iphone怎么投屏到电脑呢?大家不用着急,下面即将为 ...

  4. PlugNT CMS v4.6.3 最新功能

    PlugNT CMS v4.6.3 最新功能: 弃用标签 selected="commend,stick" 改为andwhere="commend=1 and stick ...

  5. Python入门基础之list和tuple

    Python之创建list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: > ...

  6. 运营商专线服务的基本原理(BGP传递私网路由)

  7. 小米手机Toast显示带应用名称问题解决方法

    近期为了适配刘海屏,向公司申购了一步小米8的手机,然后测试人员那边测出来一堆适配的问题,其中有一个每一个Toast会显示app的名称+显示的内容,然后网上查找了一下解决方法记录一下,顺便封装了Toas ...

  8. Android IPC机制(四)用ContentProvider进行进程间通信

    前言 ContentProvider为存储和获取数据提供统一的接口,它可以在不同的应用程序之间共享数据,本身就是适合进程间通信的.ContentProvider底层实现也是Binder,但是使用起来比 ...

  9. js的深层克隆和浅层克隆代码和理解

    <script> //判断是不是原始值 //判断是数组还是对象 //建立相应的数组或对象 var obj={ name:'辣鸡', sex:'male', card:['laobi','f ...

  10. 你的leader还在考核你的千行代码Bug率吗?

    管理学大师德鲁克说:你如果你无法度量它,就无法管理它.要想做有效的管理,就很难绕开度量的问题. 软件开发的过程或者技术团队的管理也存在着如何去合理的度量效率的问题.而度量是把双刃剑,度量具有极强的引导 ...