列表:Python的“苦力”。

     列表不同于元组和字条串的地方:列表是可变的——可以改变列表的内容,并且列表有很多有用的、专门的方法。

  1、list函数

  因为字符串不能像列表一样被修改,所有有时根据字符创建列表会很有用。list函数可以实现这相操作,

  关于list()函数应用代码示例:

>>> a=list() #不带参数进行调用时将返回一个空列表
>>> a
[]
>>> a=[] #空列表也可以使用空的方括号来创建
>>> a
[]
>>> b=['H','e','l','l','o',['','','']]
>>> b
['H', 'e', 'l', 'l', 'o', ['', '', '']]
>>> list(b) #list函数带一个列表参数时,返回该参数的浅拷贝;
['H', 'e', 'l', 'l', 'o', ['', '', '']]
>>> c='No pain,No gain!'
>>> list(c) #list()对任意其他参数则尝试将给定的对象转换为列表。
['N', 'o', ' ', 'p', 'a', 'i', 'n', ',', 'N', 'o', ' ', 'g', 'a', 'i', 'n', '!']
>>>

  列表也可以不使用list()函数创建,空列表可以使用空的方括号创建,包含一个或多个项的列表则可以使用逗号分隔的数据项(包含在[]中)序列来创建 。

  代码示例:

>>> list=['zhang3','li4','wang5','马*腾']
>>> list
['zhang3', 'li4', 'wang5', '马*腾']
>>> list=[]
>>> list
[]

  2、列表的基本操作

    2.1 列表取值与赋值

    由于列表中所有数据项实际上都是对象引用,因此,与元组一样,列表也可以存放任意数据类型的数据项,包括组合数据类型,比如列表与元组;

    示例:

>>> L=[-99,'name',55,'a',['ram','','echo'],234]
>>> L
[-99, 'name', 55, 'a', ['ram', '', 'echo'], 234]
>>> L[0]
-99
>>> L[-6]
-99
>>> L[1]
'name'
>>> L[-5]
'name'
>>> L[1][0]
'n'
>>> L[-5][0]
'n'
>>> #L[4][2]==L[4][-1]==L[-2][2]==L[-2][-1]
>>> L[4][2]
'echo'
>>> L[-2][-1]
'echo'
>>>

  列表赋值示例:

>>> L
[-99, 'name', 55, 'a', ['ram', '', 'echo'], 234]
>>> L[-1]=432
>>> L
[-99, 'name', 55, 'a', ['ram', '', 'echo'], 432]
>>> L[0]=-17.5 #改变列表索引为0的元素值
>>> L
[-17.5, 'name', 55, 'a', ['ram', '', 'echo'], 432]
>>> L[4][2][1]='E'
Traceback (most recent call last):
File "<pyshell#76>", line 1, in <module>
L[4][2][1]='E'
TypeError: 'str' object does not support item assignment #注意字符串是不能改变值的所以出错!!!!
>>> L[4][2]='Echo'
>>> L
[-17.5, 'name', 55, 'a', ['ram', '', 'Echo'], 432]
>>>

   注意:不能为一个位置不存在的元素进行赋值。如果列表长度为2那么不能为索引为100的元素进行赋值,如果要那样做,就必须创建一个长度为101或更长的列表;

  代码示例:

>>> L=[12,'q',45,'ping']
>>> len(L)
4
>>> L[4]
Traceback (most recent call last):
File "<pyshell#91>", line 1, in <module>
L[4]
IndexError: list index out of range
>>> L[3]
'ping'
>>> L[3][3]
'g'
>>> L[3][4]
Traceback (most recent call last):
File "<pyshell#94>", line 1, in <module>
L[3][4]
IndexError: string index out of range
>>>

  2.2、删除元素

      从列表中删除元使用del语句实现。

>>> names=['Alice','Beth','Cecil','Dee-dee','Earl']
>>> names
['Alice', 'Beth', 'Cecil', 'Dee-dee', 'Earl']
>>> del names[2]
>>> names
['Alice', 'Beth', 'Dee-dee', 'Earl']
>>> del names[-2:-1]
>>> names
['Alice', 'Beth', 'Earl']
>>> del names[-2:]
>>> names
['Alice']
>>> names=['Alice','Beth','Cecil','Dee-dee','Earl']
>>> names
['Alice', 'Beth', 'Cecil', 'Dee-dee', 'Earl']
>>> del names[::-2]
>>> names
['Beth', 'Dee-dee']

 

   2.3、切片赋值

    切片是一个非常强大的特性;

    

>>> #分片可以一次多个赋值
>>> name=list('Python')
Traceback (most recent call last):
File "<pyshell#117>", line 1, in <module>
name=list('Python')
TypeError: 'list' object is not callable
>>> list
[-99, 'name', 55, 'a', ['ram', '', 'echo'], 234]
>>> name=list('PYthon')
Traceback (most recent call last):
File "<pyshell#119>", line 1, in <module>
name=list('PYthon')
TypeError: 'list' object is not callable
>>> del list
>>> list
<class 'list'>
>>> name=list('Perl')
>>> name
['P', 'e', 'r', 'l']
>>> name=list('Python')
>>> name
['P', 'y', 't', 'h', 'o', 'n']
>>> name[5:]=list('ic')
>>> name
['P', 'y', 't', 'h', 'o', 'i', 'c']
>>> name=list('Perl') #使用切片赋值时,可以使用与原序列不等长的序列将切片替换
>>> name
['P', 'e', 'r', 'l']
>>> name[1:]=list('ython')
>>> name
['P', 'y', 't', 'h', 'o', 'n']
>>> #切片赋值语句可以在不需要替换任何原有元素的情况下插入新的元素。
>>> numbers=[1,9]
>>> numbers
[1, 9]
>>> numbers[1:1]=[2,3,4,5,6,7,8]
>>> numbers
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> numbers[4:4]=[0]
>>> numbers
[1, 2, 3, 4, 0, 5, 6, 7, 8, 9]
>>> #通过切片赋值来删除元素可是可行的
>>> numbers[4]=[]
>>> numbers
[1, 2, 3, 4, [], 5, 6, 7, 8, 9]
>>> numbers[4:4]=[]
>>> numbers
[1, 2, 3, 4, [], 5, 6, 7, 8, 9]
>>> numbers[4:4]=[0]
>>> numbers
[1, 2, 3, 4, 0, [], 5, 6, 7, 8, 9]
>>> del numbers[5]
>>> numbers
[1, 2, 3, 4, 0, 5, 6, 7, 8, 9]
>>> numbers[4:4]=[]
>>> numbers
[1, 2, 3, 4, 0, 5, 6, 7, 8, 9]
>>> numbers[4:5]=[]
>>> numbers
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> numbers[1:9]=[]
>>> numbers
[1]
>>>

Python基础学习-列表基本操作的更多相关文章

  1. Python基础学习 -- 列表与元组

    本节学习目的: 掌握数据结构中的列表和元组 应用场景: 编程 = 算法 + 数据结构 数据结构: 通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些元素可以是数字或者字符,或者其他数据 ...

  2. Python基础学习-列表的常用方法

    列表方法 = Python 3.5.2 (default, Sep 14 2016, 11:27:58) [GCC 6.2.1 20160901 (Red Hat 6.2.1-1)] on linux ...

  3. Python基础学习----列表

      name_list=["张无忌","张三丰","张小明","胡歌","夏东海"] #循环输出na ...

  4. Python入门基础学习(列表/元组/字典/集合)

    Python基础学习笔记(二) 列表list---[ ](打了激素的数组,可以放入混合类型) list1 = [1,2,'请多指教',0.5] 公共的功能: len(list1) #/获取元素 lis ...

  5. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  6. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  7. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  8. (一)python基础学习

    根据廖雪峰老师的python教程写一些学习总结! Python基础学习 1.使用list和tuple (1)list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时 ...

  9. Python基础学习五

    Python基础学习五 迭代 for x in 变量: 其中变量可以是字符串.列表.字典.集合. 当迭代字典时,通过字典的内置函数value()可以迭代出值:通过字典的内置函数items()可以迭代出 ...

随机推荐

  1. js常用代码收集

    1. PC - js 返回指定范围的随机数(m-n之间)的公式 Math.random()*(n-m)+m return false return false // event.preventDefa ...

  2. HDU - 1878 欧拉回路 (连通图+度的判断)

    欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路.现给定一个图,问是否存在欧拉回路? Input 测试输入包含若干测试用例.每个测试用例的第1行给出两个正整数,分别是节点数 ...

  3. POJ 3252 区间内一个数的二进制中0的数量要不能少于1的数量(数位DP)

    题意:求区间内二进制中0的数量要不能少于1的数量 分析:很明显的是数位DP: 菜鸟me : 整体上是和数位dp模板差不多的 , 需要注意的是这里有前导零的影响 , 所以需要在dfs()里面增加zor ...

  4. The MathType DLL cannot be found 一劳永逸的方法

    可能会看到下面的情况,然后实际上我们也能用过外部打开直接使用,那要你何用? 于是,我们找到这个文件,删除就OK 反正我写完论文就卸载了...

  5. Sqlite和mysql的区别及优缺点

    小型嵌入式,跟mysql差不多,但更小,功能也少,属于本地数据库多用于读多写少,100W以下的数据压力不大,不支持分布式.   真正开源的小型嵌入式数据库,支持事务.触发器器  性能至少优于mysql ...

  6. Vue.js-----轻量高效的MVVM框架(三、认识数据绑定)

    插值 1.文本插值 (1)双向数据绑定 v-model="msg0101",一旦v-model中的数值发生变化,所有用vue表达式{{msg0101}}的数据都会更新. (2)单次 ...

  7. VUE环境搭建及打包上线

    1.vue2.0新手填坑攻略之使用vue-cli搭建vue项目开发环境到项目发布 https://blog.csdn.net/u010020858/article/details/72865101 2 ...

  8. 用LaTeX画树形结构

    用LaTeX画树形结构,比如:文件目录树形图,程序中函数调用关系图等. 找到的一个不错的资源: http://www.texample.net/tikz/examples/feature/trees/ ...

  9. leetcode 175 Combine Two Tables join用法

    https://leetcode.com/problemset/database/ ACM退役,刚好要学sql,一定要刷题才行,leetcode吧. 这一题,说了两个表,一个左一个右吧,左边的pers ...

  10. 性能测试工具LoadRunner19-LR之Controller IP欺骗

    概念 IP地址欺骗是指用户操作产生的IP数据包为伪造的源IP地址,以便冒充其他系统或发件人的身份.这是一种黑客的攻击形式,黑客使用一台计算机上网,而借用另外一台机器的IP地址,从而冒充另外一台机器与服 ...