一、列表


列表是可变的--可以改变列表的内容

list函数可以把各种类型的序列拆分列表

  1. >>> list('Hello')
  2. ['H', 'e', 'l', 'l', 'o']

二、列表的基本操作


1、改变列表:元素赋值

利用索引给列表中的元素赋值

  1. >>> x=[1,2,3,4]
  2. >>> x[2]=18
  3. >>> x
  4. [1, 2, 18, 4]
  5. >>> x[6]=20
  6. Traceback (most recent call last):
  7. File "<pyshell#5>", line 1, in <module>
  8. x[6]=20
  9. IndexError: list assignment index out of range

不能为一个位置不存在的元素赋值

2、删除元素

从列表中删除元素,可以使用del语句来实现

  1. >>> names=['Alice','Beth','Cecil','Dee-Dee','Earl']
  2. >>> del names[2]
  3. >>> names
  4. ['Alice', 'Beth', 'Dee-Dee', 'Earl']

3、分片赋值

  1. >>> name=list('Perl')
  2. >>> name
  3. ['P', 'e', 'r', 'l']
  4. >>> name[2:]=list('ar')
  5. >>> name
  6. ['P', 'e', 'a', 'r']

可以使用与原序列不等长的序列将分片替换:

  1. >>> name=list('Perl')
  2. >>> name
  3. ['P', 'e', 'r', 'l']
  4. >>> name[1:]=list('ython')
  5. >>> name
  6. ['P', 'y', 't', 'h', 'o', 'n']

还可以不需要替换任何原有元素的情况下插入新的元素:

  1. >>> numbers=[1,5]
  2. >>> numbers[1:1]=[2,3,4]
  3. >>> numbers
  4. [1, 2, 3, 4, 5]

通过分片赋值来删除元素:

  1. >>> numbers=[1,2,3,4,5]
  2. >>> numbers[1:4]=[]
  3. >>> numbers
  4. [1, 5]

三、列表方法

1、append

用于在列表末尾追加新的对象:

  1. >>> abc=[1,2,3]
  2. >>> abc.append(4)
  3. >>> abc
  4. [1, 2, 3, 4]

2、count

统计某个元素在列表中出现的次数

  1. >>> ['to','be','or','not','to','be'].count('to')
  2. 2
  3. >>> x=[[1,2],1,1,[2,1,[1,2]]]
  4. >>> x.count(1)
  5. 2
  6. >>> x.count([1,2])
  7. 1

3、extend

在列表的末尾一次性追加另一个序列中的多个值,用新列表扩展原有列表

  1. >>> a=[1,2,3]
  2. >>> b=[4,5,6]
  3. >>> a.extend(b)
  4. >>> a
  5. [1, 2, 3, 4, 5, 6]

4、index

用于从列表中找出某个值第一个匹配项的索引值

  1. >>> knights=['We','are','the','knights','who','say','ni']
  2. >>> knights.index('who')
  3. 4
  4. >>> knights[4]
  5. 'who'

5、insert

用于将对象插入到列表中

  1. >>> numbers=[1,2,3,5,6,7]
  2. >>> numbers.insert(3,'four')
  3. >>> numbers
  4. [1, 2, 3, 'four', 5, 6, 7]

6、pop

移除列表中的一个元素(默认是最后一个),并且返回该元素的值

  1. >>> x=[1,2,3]
  2. >>> x.pop()
  3. 3
  4. >>> x
  5. [1, 2]
  6. >>> x.pop(0)
  7. 1
  8. >>> x
  9. [2]

7、remove

移除列表中某个值的第一个匹配项

  1. >>> x=['to','be','or','not','to','be']
  2. >>> x.remove('be')
  3. >>> x
  4. ['to', 'or', 'not', 'to', 'be']

8、reverse

将列表中的元素反向存放

  1. >>> x=[1,2,3]
  2. >>> x.reverse()
  3. >>> x
  4. [3, 2, 1]

9、sort

在原位置对列表进行排序,“在原位置排序”意味着改变了原来的列表,让其中的元素按一定顺序排序

  1. >>> x=[4,6,2,1,7,9]
  2. >>> x.sort()
  3. >>> x
  4. [1, 2, 4, 6, 7, 9]

四、元组:不可变序列


元组与列表一样,也是一种序列。唯一的不同是元组不能改变。创建元组的语法很简单:如果你用逗号分割了一些值,那么你就自动创建了元组。

  1. >>> 1,2,3
  2. (1, 2, 3)
  3. >>> (1,2,3) # 用括号表示元组
  4. (1, 2, 3)
  5. >>> () # 空元组
  6. ()

如何实现包含一个值的元组呢?方法有点奇特----必须加逗号,即使只有一个值:

  1. >>> 42
  2. 42
  3. >>> 42,
  4. (42,)
  5. >>> (42,)
  6. (42,)
  7.  
  8. >>> 3*(40+2)
  9. 126
  10. >>> 3*(40+2,)
  11. (42, 42, 42)

tuple函数

tuple函数的功能与list函数基本上一样:以一个序列作为参数并把它转换为元组。

  1. >>> tuple([1,2,3])
  2. (1, 2, 3)
  3. >>> tuple('abc')
  4. ('a', 'b', 'c')
  5. >>> tuple((1,2,3))
  6. (1, 2, 3)

Python3学习笔记(五):列表和元组的更多相关文章

  1. python3学习笔记五(列表2)

    参考http://www.runoob.com/python3/python3-list.html 嵌套列表 a = ['a','b','c']b = [1,2,3]x = [a, b]print(x ...

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

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

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

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

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

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

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

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

  6. Python学习笔记只列表和元组

    一.成员资格 1.检查某个字符是否在某个字符串中:'a' in 'absent' 2.获取数组的长度.最大.最小值: numbers=[100,54,345] len(numbers) //长度 ma ...

  7. python3.4学习笔记(十一) 列表、数组实例

    python3.4学习笔记(十一) 列表.数组实例 #python列表,数组类型要相同,python不需要指定数据类型,可以把各种类型打包进去#python列表可以包含整数,浮点数,字符串,对象#创建 ...

  8. python3.4学习笔记(五) IDLE显示行号问题,插件安装和其他开发工具介绍

    python3.4学习笔记(五) IDLE显示行号问题,插件安装和其他开发工具介绍 IDLE默认不能显示行号,使用ALT+G 跳到对应行号,在右下角有显示光标所在行.列.pycharm免费社区版.Su ...

  9. (转)Qt Model/View 学习笔记 (五)——View 类

    Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...

随机推荐

  1. [转帖]Linux下inotify监控文件夹状态,发生变化后触发rsync同步

    Linux下inotify监控文件夹状态,发生变化后触发rsync同步 https://www.cnblogs.com/fjping0606/p/6114123.html 1.安装工具--inotif ...

  2. 在子类中,若要调用父类中被覆盖的方法,可以使用super关键字

    在子类中,若要调用父类中被覆盖的方法,可以使用super关键字. package text; class Parent {    int x;    public Parent()    {      ...

  3. nodejs实现服务端重定向

    nodejs实现服务端重定向:https://www.jianshu.com/p/5a1500fcd713

  4. Head First PHP&MySQl第四章代码

    addemail.php <!DOCTYPE html> <html lang="cn" dir="ltr"> <head> ...

  5. shell基础#1

    shell:能直接调用命令(python)1.bash的基本特性 ctrl+L 清屏2.IO重定向与管道符 都由shell提供 命令是一个可执行的二进制程序3.编程基础 编程原理 程序:执行某个功能的 ...

  6. 优雅的用两种方式爬网络 txt 文件【雾

    TXT 文件?? (笑 这里爬的是 74xsw (咱好像也不怎么逛的网站)的英雄再临 ... 请注意这并不是教程,只是贴个代码仅供参考而已[雾 这里 用的 getTXT 的方式有两种,一种是每个章节分 ...

  7. Bootstrap中DropDown插件显示下拉列表,点击下拉列表区域,不会再自动关闭。

    目标: Bootstrap中DropDown插件显示下拉列表,点击下拉列表区域,不会再自动关闭. 参考:http://v3.bootcss.com/javascript/#dropdowns    / ...

  8. 表格强制换行 table-layout:fixed

    如果想要一个table固定大小,里面的文字强制换行(尤其是在一长串英文文本,并且中间无空格分隔的情况下),以达到使过长的文字不撑破表格的目的,一般是使用样式:table-layout:fixed.

  9. 封装运动框架基本函数(多个属性包括透明度和zIndex)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. python接口自动化 - Requests-3 高级用法

    高级用法 本篇文档涵盖了 Requests 的一些高级特性. 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 url ...