列表:Python的“苦力”。

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

  1、list函数

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

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

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

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

  代码示例:

  1. >>> list=['zhang3','li4','wang5','马*腾']
  2. >>> list
  3. ['zhang3', 'li4', 'wang5', '马*腾']
  4. >>> list=[]
  5. >>> list
  6. []

  2、列表的基本操作

    2.1 列表取值与赋值

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

    示例:

  1. >>> L=[-99,'name',55,'a',['ram','','echo'],234]
  2. >>> L
  3. [-99, 'name', 55, 'a', ['ram', '', 'echo'], 234]
  4. >>> L[0]
  5. -99
  6. >>> L[-6]
  7. -99
  8. >>> L[1]
  9. 'name'
  10. >>> L[-5]
  11. 'name'
  12. >>> L[1][0]
  13. 'n'
  14. >>> L[-5][0]
  15. 'n'
  16. >>> #L[4][2]==L[4][-1]==L[-2][2]==L[-2][-1]
  17. >>> L[4][2]
  18. 'echo'
  19. >>> L[-2][-1]
  20. 'echo'
  21. >>>

  列表赋值示例:

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

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

  代码示例:

  1. >>> L=[12,'q',45,'ping']
  2. >>> len(L)
  3. 4
  4. >>> L[4]
  5. Traceback (most recent call last):
  6. File "<pyshell#91>", line 1, in <module>
  7. L[4]
  8. IndexError: list index out of range
  9. >>> L[3]
  10. 'ping'
  11. >>> L[3][3]
  12. 'g'
  13. >>> L[3][4]
  14. Traceback (most recent call last):
  15. File "<pyshell#94>", line 1, in <module>
  16. L[3][4]
  17. IndexError: string index out of range
  18. >>>

  2.2、删除元素

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

  1. >>> names=['Alice','Beth','Cecil','Dee-dee','Earl']
  2. >>> names
  3. ['Alice', 'Beth', 'Cecil', 'Dee-dee', 'Earl']
  4. >>> del names[2]
  5. >>> names
  6. ['Alice', 'Beth', 'Dee-dee', 'Earl']
  7. >>> del names[-2:-1]
  8. >>> names
  9. ['Alice', 'Beth', 'Earl']
  10. >>> del names[-2:]
  11. >>> names
  12. ['Alice']
  13. >>> names=['Alice','Beth','Cecil','Dee-dee','Earl']
  14. >>> names
  15. ['Alice', 'Beth', 'Cecil', 'Dee-dee', 'Earl']
  16. >>> del names[::-2]
  17. >>> names
  18. ['Beth', 'Dee-dee']

 

   2.3、切片赋值

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

    

  1. >>> #分片可以一次多个赋值
  2. >>> name=list('Python')
  3. Traceback (most recent call last):
  4. File "<pyshell#117>", line 1, in <module>
  5. name=list('Python')
  6. TypeError: 'list' object is not callable
  7. >>> list
  8. [-99, 'name', 55, 'a', ['ram', '', 'echo'], 234]
  9. >>> name=list('PYthon')
  10. Traceback (most recent call last):
  11. File "<pyshell#119>", line 1, in <module>
  12. name=list('PYthon')
  13. TypeError: 'list' object is not callable
  14. >>> del list
  15. >>> list
  16. <class 'list'>
  17. >>> name=list('Perl')
  18. >>> name
  19. ['P', 'e', 'r', 'l']
  20. >>> name=list('Python')
  21. >>> name
  22. ['P', 'y', 't', 'h', 'o', 'n']
  23. >>> name[5:]=list('ic')
  24. >>> name
  25. ['P', 'y', 't', 'h', 'o', 'i', 'c']
  26. >>> name=list('Perl') #使用切片赋值时,可以使用与原序列不等长的序列将切片替换
  27. >>> name
  28. ['P', 'e', 'r', 'l']
  29. >>> name[1:]=list('ython')
  30. >>> name
  31. ['P', 'y', 't', 'h', 'o', 'n']
  32. >>> #切片赋值语句可以在不需要替换任何原有元素的情况下插入新的元素。
  33. >>> numbers=[1,9]
  34. >>> numbers
  35. [1, 9]
  36. >>> numbers[1:1]=[2,3,4,5,6,7,8]
  37. >>> numbers
  38. [1, 2, 3, 4, 5, 6, 7, 8, 9]
  39. >>> numbers[4:4]=[0]
  40. >>> numbers
  41. [1, 2, 3, 4, 0, 5, 6, 7, 8, 9]
  42. >>> #通过切片赋值来删除元素可是可行的
  43. >>> numbers[4]=[]
  44. >>> numbers
  45. [1, 2, 3, 4, [], 5, 6, 7, 8, 9]
  46. >>> numbers[4:4]=[]
  47. >>> numbers
  48. [1, 2, 3, 4, [], 5, 6, 7, 8, 9]
  49. >>> numbers[4:4]=[0]
  50. >>> numbers
  51. [1, 2, 3, 4, 0, [], 5, 6, 7, 8, 9]
  52. >>> del numbers[5]
  53. >>> numbers
  54. [1, 2, 3, 4, 0, 5, 6, 7, 8, 9]
  55. >>> numbers[4:4]=[]
  56. >>> numbers
  57. [1, 2, 3, 4, 0, 5, 6, 7, 8, 9]
  58. >>> numbers[4:5]=[]
  59. >>> numbers
  60. [1, 2, 3, 4, 5, 6, 7, 8, 9]
  61. >>> numbers[1:9]=[]
  62. >>> numbers
  63. [1]
  64. >>>

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. 同源策略与 JSONP CORS

    同源策略与 JSONP CORS 同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以 ...

  2. http 和 https 的区别

    参考:http://www.cnblogs.com/wqhwe/p/5407468.html HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从W ...

  3. 转 PYTHON2 编码处理-str与Unicode的区别

    https://www.cnblogs.com/long2015/p/4090824.html

  4. 转 dango的模型总结 and django-关于manage.py migrate无效的问题

    http://iluoxuan.iteye.com/blog/1703061 1:用过django就知道django的model有多方便: 首先介绍下django的模型有哪些属性:先看例子: Djan ...

  5. call and apply

    apply()把参数打包成Array再传入: call()把参数按顺序传入. Math.max.apply(null, [3, 5, 4]); // 5 Math.max.call(null, 3, ...

  6. oracle impdp时卡死Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX

    今天在用impdp导入时,Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX卡在建索引的过程一直不动,也不报错,重试了好几遍还是这样. 后来恍 ...

  7. [转]js add month 加n月

    本文转自:http://stackoverflow.com/questions/5645058/how-to-add-months-to-a-date-in-javascript/5645126 I ...

  8. Murano为镜像包添加Root用户密码

    1. 安装dib-utils Dib Utils 是 diskimage-builder 工程的一部分,但是他们也用于 diskimage-builder 工程外部. 因为基于云的磁盘空间已经溢出,推 ...

  9. (转)python 列表与元组的操作简介

    python 列表与元组的操作简介 原文:https://www.cnblogs.com/QG-whz/p/4782809.html 阅读目录 列表 list函数 列表的基本操作 列表方法 元组 tu ...

  10. 3n+1猜想

    1001. 害死人不偿命的(3n+1)猜想 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 卡拉兹(Ca ...