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. 『C++』Temp_2018_12_26

    #include <iostream> #include <string> #include <array> using namespace std; class ...

  2. tctip打赏小插件

    tctip是一个js插件,作用是在web网页右侧生成一个打赏浮动窗 使用方法 页面使用(多数人的使用方式) 插件下载地址 第一步,引入js 一般引入min版本,即引入tctip-版本号.min.js文 ...

  3. 纯JS实现前端动态分页码

    思路分析:有3种情况 第一种情况,当前页面curPage < 4 第二种情况,当前页面curPage == 4 第三种情况,当前页面curPage>4 此外,还要考虑,当前页码 curPa ...

  4. 第一章:程序设计和C语言

    一.什么是计算机程序? 所谓程序就是一组计算机能识别和执行的指令.计算机的一切操作都是由程序控制的,本质是程序的机器,程序和指令是计算机系统最基本的概念. 二.什么是计算机语言? 人和计算机交流信息要 ...

  5. vim 版本更新

    sudo add-apt-repository ppa:jonathonf/vim sudo apt update sudo apt install vim 如果您想要卸载它, 请使用如下命令 sud ...

  6. Verilog_Day3

    内容为书中第5章 条件语句 条件语句必须在过程块语句中使用.所谓过程块语句是指由 initial 和 always 语句引导的执行语句集合.除这两种块语句引导的begin_end块中可以编写条件语句外 ...

  7. HDOJ:6356-Glad You Came(线段树剪枝)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6356 解题心得: 现在深深的知道了算法复杂度的重要了,这个题算复杂度的时候还要把一些常数也算出来,不然 ...

  8. 北京Uber优步司机奖励政策(10月19日~10月25日)

    用户组:优步北京人民优步A组(适用于10月19日-10月25日) 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万 ...

  9. linux_fdisk命令详解,关于分区的详解

    这篇文章写的十分详细,特别的好 fdisk -l 可以列出所有的分区,包括没有挂上的分区和usb设备.我一般用这个来查找需要挂载的分区的位置,比如挂上u盘. 实例解说Linux中fdisk分区使用方法 ...

  10. SpringBoot入门(五)——自定义配置

    本文来自网易云社区 大部分比萨店也提供某种形式的自动配置.你可以点荤比萨.素比萨.香辣意大利比萨,或者是自动配置比萨中的极品--至尊比萨.在下单时,你并没有指定具体的辅料,你所点的比萨种类决定了所用的 ...