一.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. Android 设置图片倒影效果

    首先,贴出效果图: 1.布局文件main.xml <?xml version="1.0" encoding="utf-8"?> <Linear ...

  2. KMP算法之我见

    预备谈谈下面这些,可能有补充 KMP算法的用途: KMP算法之前的暴力: KMP算法预备知识与概念: KMP算法模板: KMP算法的习题. 1.KMP算法的用途: 主要用于模式匹配(字符串匹配).给定 ...

  3. BZOJ2748(DP)

    非常简单的DP题.类似背包的操作,按照音量改变值进行状态转移即可. #include <bits/stdc++.h> using namespace std; #define REP(i, ...

  4. RAID 1-6

    RAID 0 RAID 0亦称为带区集.它将两个以上的磁盘串联起来,成为一个大容量的磁盘.在存放数据时,分段后分散存储在这些磁盘中,因为读写时都可以并行处理,所以在所有的级别中,RAID 0的速度是最 ...

  5. Factory Method 和AbstractFactory

    对应慕课视频的连接:https://www.imooc.com/video/5316 1,工厂模式的应用场景 有一组类似的对象需要被创建 在编码时不能预见需要被创建哪种类的实例 在系统需要考虑扩展性的 ...

  6. OpenSSL使用2(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12概念说明)(转)

    SSL SSL - Secure Sockets Layer,现在应该叫"TLS",但由于习惯问题,我们还是叫"SSL"比较多.http协议默认情况下是不加密内 ...

  7. Jenkins错误“to depth infinity with ignoreexternals:true”问题解决

    试下以下解决方法: 1.可能是SVN插件版本过低导致,升级SVN插件. 2.可能是构建时自己手动修改了代码,而SVN检出时无法覆盖导致的错误,可以先删除jenkins检出的代码,然后再检出一次去构建. ...

  8. C++并发实战 与多线程

    http://blog.csdn.net/column/details/ccia.html

  9. VS2010 MFC中 给菜单项添加消息响应函数

    久了没用,居然忘记了该怎样给菜单项添加响应函数了~~~~~~~~T_T 特记于此: 1. 在资源视图的Menu里找到自己要添加的菜单,然后输入菜单项. 2. 右击菜单项选属性,设置Popup为Fals ...

  10. MFC中 CString转换为char

    网上好多方法,比如强制转换: CString strTest = _T(“abcd”); char *buf = (LPSTR)(LPCTSTR)strTest; 可是都只得到了第一个字符. 后来,找 ...