list的创建

1 字面量

>>>L = [1, 2, 3]
[1, 2, 3]

2 通过iterable可迭代对象,比如str对象,range对象,map对象

>>>L = list('spam')      # str
['s', 'p', 'a', 'm'] >>>L = list(range(1, 5)) # range
[1, 2, 3, 4] >>>L = list(map(ord, 'spam')) # map
[115, 112, 97, 109]

slice赋值

slice赋值分为两步:

1 删除slice部分

2 在删除部分的左侧插入

>>>L = [1, 2, 3, 4]
>>>L[1:2] = [5, 6] # 等号右边不一定只能是数组,只要是一个可迭代对象就行
>>>L
[1, 5, 6, 3, 4] >>>L[:0] = [7, 8] # 在头部插入
>>>L
[7, 8, 1, 5, 6, 3, 4] >>>L[len(L):] = [9, 10] # 在尾部插入
>>>L
[7, 8, 1, 5, 6, 3, 4, 9, 10] >>>L[:] = [] # 删除全部元素
>>>L
[] >>>L = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>>L[1::2] = [11, 12, 13, 14, 15] # slice赋值同样支持步长,但是如果=两边的序列个数不匹配,则会报错
>>>L
[1, 11, 3, 12, 5, 13, 7, 14, 9, 15]

连接符+, append,extend的区别

# 连接符+创建一个新的list,不改变原来的
>>>A = [1, 2]
>>>B = [3, 4]
>>>A + B
[1, 2, 3, 4]
>>>A
[1, 2]
>>>B
[3, 4] # apend接收的参数是一个对象,并且返回值为None
>>>A = [1, 2]
>>>R = A.append([3, 4])
>>>A
[1, 2, [3, 4]]
>>>R # 什么也不会打印 # extend 接收的参数是一个可迭代对象,并且返回值是None
>>>A = [1, 2]
>>>R = A.extend([3, 4])
>>>A
[1, 2, 3, 4]
>>>R # 什么也不会打印

Python中的list的更多相关文章

  1. [转]Python中的str与unicode处理方法

    早上被python的编码搞得抓耳挠腮,在搜资料的时候感觉这篇博文很不错,所以收藏在此. python2.x中处理中文,是一件头疼的事情.网上写这方面的文章,测次不齐,而且都会有点错误,所以在这里打算自 ...

  2. python中的Ellipsis

    ...在python中居然是个常量 print(...) # Ellipsis 看别人怎么装逼 https://www.keakon.net/2014/12/05/Python%E8%A3%85%E9 ...

  3. python中的默认参数

    https://eastlakeside.gitbooks.io/interpy-zh/content/Mutation/ 看下面的代码 def add_to(num, target=[]): tar ...

  4. Python中的类、对象、继承

    类 Python中,类的命名使用帕斯卡命名方式,即首字母大写. Python中定义类的方式如下: class 类名([父类名[,父类名[,...]]]): pass 省略父类名表示该类直接继承自obj ...

  5. python中的TypeError错误解决办法

    新手在学习python时候,会遇到很多的坑,下面来具体说说其中一个. 在使用python编写面向对象的程序时,新手可能遇到TypeError: this constructor takes no ar ...

  6. python中的迭代、生成器等等

    本人对编程语言实在是一窍不通啊...今天看了廖雪峰老师的关于迭代,迭代器,生成器,递归等等,word天,这都什么跟什么啊... 1.关于迭代 如果给定一个list或tuple,我们可以通过for循环来 ...

  7. python2.7高级编程 笔记二(Python中的描述符)

    Python中包含了许多内建的语言特性,它们使得代码简洁且易于理解.这些特性包括列表/集合/字典推导式,属性(property).以及装饰器(decorator).对于大部分特性来说,这些" ...

  8. python cookbook 学习系列(一) python中的装饰器

    简介 装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.它经常用于有切面需求的场景,比如:插入日志.性能测试.事务处理.缓 ...

  9. 用 ElementTree 在 Python 中解析 XML

    用 ElementTree 在 Python 中解析 XML 原文: http://eli.thegreenplace.net/2012/03/15/processing-xml-in-python- ...

  10. Python中操作mysql的pymysql模块详解

    Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...

随机推荐

  1. 缓存反向代理-Varnish

    简介 Varnish是一款高性能.开源的缓存反向代理服务器.它从客户端接受请求,并尝试从缓存中响应请求,如果无法从缓存中提供响应,Varnish 向后端服务器发起请求,获取响应,将响应存储在缓存中,然 ...

  2. 正则验证input输入,要求只能输入正数,小数点后保留两位。

    <input type="number" step="1" min="0" onkeyup="this.value= thi ...

  3. js实现99乘法表的编写(双层for循环与递归方法)

    双层for循环实现方法: function nine (num) { ; i <= num; i++){ var str = ''; ; k <= num; k++){ if(i > ...

  4. 「PHP」抽象工厂模式

    引言   所属:创建型模式,常用设计模式之一 参考资料: <大话设计模式>程杰   模式概述    官方定义:抽象工厂模式(Abstract Factory),提供一个创建一系列相关或互相 ...

  5. STM32(12)——CAN

    简介: CAN是Controller Area Network,是 ISO 国际标准化的串行通信协议. CAN  控制器根据两根线上的电位差来判断总线电平.总线电平分为显性电平和隐性电平,二者必居其一 ...

  6. Leecode刷题之旅-C语言/python-217存在重复元素

    /* * @lc app=leetcode.cn id=217 lang=c * * [217] 存在重复元素 * * https://leetcode-cn.com/problems/contain ...

  7. python中的__all__

    在定义一个模块的时候,在开头处加上 “ __all__ = ["xxx1", "xxx2"] ”(xxx可以是方法.类.变量等希望让外界访问的值),那么在外部通 ...

  8. 用JavaScript动态实现单元格合并

    不太想描述,大家自行理解吧,这样可能记忆会深一点儿- <script type="text/javascript"> function mergeCells(){ va ...

  9. HTTPS相关知识以及在golang中的应用

    最近简单学习了HTTPS,并在golang中实践了一下,现在把学到的知识记录下来,方便以后查看,如果有幸能帮到有需要的人就更好了,如果有错误欢迎留言指出. 一些简单的概念,可以自行百度百科 HTTPS ...

  10. python 的 购物小程序

    money = input('请输入您的工资:') shop = [("iphone",5800),("ipod",3000),("book" ...