一.python 数据类型序列---列表
1.列表是可变型的数据类型。列表里边的元素是可变的,可以增加,可以删除。
 
2.列表(list)是处理一组有序项目的数据结构,即可以在列表中存储一个序列的项目。
1》列表是可变类型的数据
2》创建列表
    list1 = []
    list2 = list()
    list3 = ['a',1,2]
 
3》列表,元组,字符串的表示方法
     列表是用中括号表示
     元组是用小括号表示
     字符串是用引号表示
 
4》创建列表
方法一:
In [1]: list1 = []   //创建一个空的列表
 
In [2]: type(list1)   //查看list1的类型
Out[2]: list   //类型为列表
 
方法二:
In [3]: list2 = list()
 
In [4]: list2
Out[4]: []
 
方法三:
In [5]: list3 = ['a',1,(1,),['hello','python']]
 
In [6]: list3
Out[6]: ['a', 1, (1,), ['hello', 'python']]
创建一个list3的列表:列表里边可以是字符,数字,可以是元组,也可以是列表。列表里每个元素之间用逗号隔开。
 
可以通过len()查看序列长度
In [7]: len(list3)
Out[7]: 4
 
5》列表是可变元素,如下图所示
In [8]: list3   //list3里的元素,都在呢吧
Out[8]: ['a', 1, (1,), ['hello', 'python']]
 
In [9]: list3[0]  //取list3中第一个元素
Out[9]: 'a' //第一个元素是a
 
In [10]: list3[0] = 'b'   //把第一个元素变成b
 
In [11]: list3   //在查看list3的列表元素
Out[11]: ['b', 1, (1,), ['hello', 'python']]
 
6》列表相加,相当于构成一个大的列表
In [7]: list3
Out[7]: ['b', 1]
 
In [9]: list2 = []   //创建空列表list2
 
In [10]: list2
Out[10]: []
 
In [11]: list2.append('python')  //list2里面追加字符“python”,只能追加一个参数
 
In [12]: list2
Out[12]: ['python']
 
In [13]: list2 + list3   //两个列表相加
Out[13]: ['python', 'b', 1]
 
6》列表也可以进行重复
In [15]: (list2 + list3)*2   //列表使用括号表示优先级要高,先进行括号里的在重复两遍
Out[15]: ['python', 'b', 1, 'python', 'b', 1]
 
3.列表操作
1》取值
      切片和索引
2》添加
      list.append()
3>删除
       del list[]
       list.removed(list[])
eg1:
      In [19]: list3
Out[19]: ['b', 1, 'linxu']
      In [21]: del list3[-1]   //del删除的方式是用列表的下标表示
 
In [22]: list3
Out[22]: ['b', 1]
 
eg2:del 还可以删除变量
    In [23]: list2
Out[23]: ['python']
 
In [24]: del list2
In [26]: list2   //删除后,查看list2报错
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-26-db9b7629a516> in <module>()
----> 1 list2
     
eg3:list.remove(list[])
In [32]: list1   //列表中可以有重复的字符
Out[35]: ['a', 3, 'abcd', 3]
In [41]: list1.remove(list1[1])  //删除列表中的3,可以看出列表删除的是第一个3
 
eg5:
In [45]: list1
Out[45]: ['a', 'abcd', 3]
 
In [46]: list1.remove(3)  /括号里的3,指的是列表中的数字3,这个存在的值。不是切片的索引。
 
In [48]: list1.remove('a')  //删除字母a
In [49]: list1
Out[49]: ['abcd']
 
In [47]: list1
Out[47]: ['a', 'abcd']
 
In [42]: list1
Out[42]: ['a', 'abcd', 3]
 
4》修改
        list[] = x
5》查找
        var in list
In [52]: list3
Out[52]: ['b', 1]
 
In [53]: 'd' in list3    //查看字符d在不在列表list3里,在的话显示true,不再的话显示flase
Out[53]: False
 
In [54]: 'a' not in list3  //查看a是否在list3列表中,不再显示true,在现实flase
Out[54]: True
 
4》使用insert进行插入
eg1:
In [55]: list1   //list1为空列表
Out[55]: []
 
In [56]: list3    //list3的列表
Out[56]: ['b', 1]
 
In [57]: list3.insert(0,list1)  //在list3列表中,字符b的前边插入一个空的列表--list1.命令当中的0是字符b的切片索引值
 
In [58]: list3
Out[58]: [[], 'b', 1]
 
eg2:
In [58]: list3   //list3中有一个空的列表
Out[58]: [[], 'b', 1]
 
In [59]: list3[0].append('abcd') //往list3空的列表当中,插入字符abcd
 
In [60]: list3
Out[60]: [['abcd'], 'b', 1]
 
4>列表排序
In [61]: list3.  //table键
list3.append   list3.extend   list3.insert   list3.remove   list3.sort
list3.count    list3.index    list3.pop      list3.reverse
 
In [61]: list3
Out[61]: [['abcd'], 'b', 1]
 
In [62]: list3.sort()
 
In [64]: list3
Out[64]: [1, ['abcd'], 'b']   //列表是按升序排的
 
5》列表里的元素进行反转 L.reverse()
In [64]: list3
Out[64]: [1, ['abcd'], 'b']
 
In [65]: list3.reverse()
 
In [66]: list3
Out[66]: ['b', ['abcd'], 1]
 
6>删除列表里的元素
L.pop,示例如下
In [61]: a    //a列表
Out[61]: [4, '2', 'abc', (2, 'ding')]
 
In [63]: a.pop(2)    //删除索引为2的
Out[63]: 'abc'
 
In [64]: a
Out[64]: [4, '2', (2, 'ding')]
 
In [64]: a
Out[64]: [4, '2', (2, 'ding')]
 
In [65]: a.pop()    //如果不加索引,默认删除最后一个
Out[65]: (2, 'ding')
 
In [66]: a
Out[66]: [4, '2']
 
 
7》追加
In [71]: range(5)
Out[71]: [0, 1, 2, 3, 4]
 
In [72]: a
Out[72]: [4, '2', 2, 'ding']
 
In [73]: a.extend(range(5))    //把range(5)追加到a列表里
 
In [74]: a
Out[74]: [4, '2', 2, 'ding', 0, 1, 2, 3, 4]
 
 
In [80]: list2
Out[80]: ['bb', 2, 3]
 
In [81]: a.extend(list2)    ///把list2的单个元素 追加到a列表里边
 
In [82]: a
Out[82]: [4, '2', 2, 'ding', 0, 1, 2, 3, 4, 'bb', 2, 3]    //追加的是list2的单个元素
 
 
8》字符串,列表,元组都是可迭代的,凡是可迭代的都可以用for循环访问。

python 基础 1.5 数据类型(二)--列表的更多相关文章

  1. python基础(7):基本数据类型二(list、tuple)、range

    1. 列表 1.1 列表的介绍 列表是python的基础数据类型之⼀,其他编程语⾔也有类似的数据类型.比如JS中的数组, java中的数组等等.它是以[ ]括起来,每个元素⽤','隔开⽽且可以存放各种 ...

  2. 第五篇:python基础之循环结构以及列表

    python基础之循环结构以及列表   python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...

  3. 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作

    声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...

  4. Py西游攻关之基础数据类型(二)-列表

    Py西游攻关之基础数据类型 - Yuan先生 https://www.cnblogs.com/yuanchenqi/articles/5782764.html  五 List(列表) OK,现在我们知 ...

  5. 二.Python基础语法和数据类型

    Python第二节 基础语法和数据类型 Python编码 python3默认情况下源码文件以UTF-8编码, 字符串均为unicode字符串.同时也可以通过# -*- coding: cp-1252 ...

  6. python基础之循环结构以及列表

    python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...

  7. Python基础学习笔记(二)变量类型

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-chinese-encoding.html 3. http://w ...

  8. Python 基础之基本数据类型

    首先,Python中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建.在Python中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象 ...

  9. python基础一 ------如何统计一个列表元素的频度

    如何统计一个列表元素的频度 两个需求: 1,统计一个随机序列[1,2,3,4,5,6...]中的出现次数前三的元素及其次数 2,统计一片英文文章中出现次数前10 的单词 两种方法: 1,普通的for循 ...

随机推荐

  1. hdu 3639 有向图缩点+建反向图+搜索

    题意:给个有向图,每个人可以投票(可以投很多人,一次一票),但是一个人只能支持一人一次,支持可以传递,自己支持自己不算,被投支持最多的人. 开始想到缩点,然后搜索,问题是有一点想错了!以为支持按票数计 ...

  2. sql_mode引发的数据库问题

    前几天,在本地做完项目,测试完毕后,上传到线上服务器的时候,在做很多写入数据库的操作时,发现全部发生500报错,返回的报错信息是,某个字段没有默认值,写入的时候没有添加这个字段,该字段在数据表中是NO ...

  3. Codeforces Gym 101194C Mr. Panda and Strips(2016 EC-Final,区间DP预处理 + 枚举剪枝)

    题目链接  2016 EC-Final 题意  现在要找到数列中连续两个子序列(没有公共部分).要求这两个子序列本身内部没有重复出现的数.   求这两个子序列的长度的和的最大值. 首先预处理一下.令$ ...

  4. POJ 2486 Apple Tree [树状DP]

    题目:一棵树,每个结点上都有一些苹果,且相邻两个结点间的距离为1.一个人从根节点(编号为1)开始走,一共可以走k步,问最多可以吃多少苹果. 思路:这里给出数组的定义: dp[0][x][j] 为从结点 ...

  5. SCP和SFTP相同点和区别

    都是使用SSH协议来传输文件的.不用说文件内容,就是登录时的用户信息都是经过SSH加密后才传输的,所以说SCP和SFTP实现了安全的文件传输. SCP和CP命令相似,SFTP和FTP的使用方法也类似. ...

  6. Mycat本地模式的自增长分表操作

    Mycat对表t_rc_rule_monitor做分表操作 在mysql上执行(没有t_rc_rule_monitor) DROP TABLE IF EXISTS t_rc_rule_monitor; ...

  7. 学习日记之享元模式和Effective C++

    享元模式(Flyweight):运用共享技术有效地支持大量细粒度的对象. (1),享元模式能够避免大量很相似的开销.在程序设计中,有时须要生成大量细粒度的类实例来表示数据.假设能发现这些实例除了几个參 ...

  8. linux 之体验(JDK7+Tomcat7+MySQL5.5)部署环境

    ---------------------------------------------------------------------------------------------------- ...

  9. [JS][jQuery]清空元素html(&quot;&quot;)、innerHTML=&quot;&quot; 与 empty()的差别:关于内容泄露问题

    清空元素html("").innerHTML="" 与 empty()的差别 一.清空元素的差别      1.错误做法一:            $(&quo ...

  10. C语言八进制和十六进制数

    一 赋值 int dex = 100;// 默认十进制 int oct = 0144;// 八进制,以0開始 int hex = 0x64;// 十六进制,以0x開始 二 输出 void show(i ...