python学习(7)关于列表操作相关命令以及浅复制深复制
在python中,[]表示的是列表。列表有各种操作命令。
1、append()方法,添加一个元素到列表尾部。
注意append()方法与extend()方法有区别:list.append(object) 向列表中添加一个对象object而list.extend(sequence) 把一个序列seq的内容添加到列表中
例如:
names=["hongtao","xiaoweihong","hongyuchan",["show530","luby"],"hongpingshui","guochaoxi"]
names2=["liuyi","zhangsong"] names.extend(names2)
print(names) >>>>>>>
['hongtao', 'xiaoweihong', 'hongyuchan', ['show530', 'luby'], 'hongpingshui', 'guochaoxi', 'liuyi', 'zhangsong']
___________________________________________________ names=["hongtao","xiaoweihong","hongyuchan",["show530","luby"],"hongpingshui","guochaoxi"]
names2=["liuyi","zhangsong"] names.append(names2)
print(names) >>>>>>>>>
['hongtao', 'xiaoweihong', 'hongyuchan', ['show530', 'luby'], 'hongpingshui', 'guochaoxi', ['liuyi', 'zhangsong']]
2、关于 remove(),pop(),以及del列表操作的相同点和不同点:
(1)remove 是删除首个符合条件的元素。并不是删除特定的索引。
>>> a = [0, 2, 2, 3]
>>> a.remove(2)
>>> a
[0, 2, 3]
(2)对于 del 来说,它是根据索引(元素所在位置)来删除的。
>>> a = [3, 2, 2, 1]
>>> del a[1]
[3, 2, 1]
(3)pop返回的是你弹出的那个数值。
>>> a = [4, 3, 5]
>>> a.pop(1)
3
>>> a
[4, 5]
3、关于深度COPY和浅度COPY的区别:
简单地说,深度COPY就是把A列表简单的复制一份,跟A列表一模一样。而浅度COPY复制的时候遭遇到列表中包含列表的情况的话,他只复制内存地址。
例如以下代码:
import copy
names=["hongtao","xiaoweihong","hongyuchan",["show530","luby"],"hongpingshui","guochaoxi"]
names2=copy.copy(names)
names[3][0]="SHOW530"
names[3][1]="LUBY"
print(names2) 输出结果>>>>>>> ['hongtao', 'xiaoweihong', 'hongyuchan', ['SHOW530', 'LUBY'], 'hongpingshui', 'guochaoxi'] import copy
names=["hongtao","xiaoweihong","hongyuchan",["show530","luby"],"hongpingshui","guochaoxi"]
names2=copy.deepcopy(names)
names[3][0]="SHOW530"
names[3][1]="LUBY"
print(names2) 输出结果>>>>>>> ['hongtao', 'xiaoweihong', 'hongyuchan', ['show530', 'luby'], 'hongpingshui', 'guochaoxi']
4、关于列表中元素的位置表示方法及间隔
names[0:-1] 表示从列表names中第一个元素到最后一个元素;
names[0:-1:2] 表示从列表names中第一个元素到最后一个元素,步长为2,每个元素间隔1
names[0:-1:2]有时也会简写成names[::2]如果步长是1,那么可以简写为names[:]
python学习(7)关于列表操作相关命令以及浅复制深复制的更多相关文章
- IDEA环境下GIT操作浅析之二-idea下分支操作相关命令
上次写到<idea下仓库初始化与文件提交涉及到的基本命令>,今天我们继续写IDEA环境下GIT操作之二--idea下分支操作相关命令以及分支创建与合并. 1.idea 下分支操作相关命令 ...
- Redis中LIST列表的相关命令
Redis中LIST列表的相关命令 添加 lpush 将一个或多个value插入到key的表头,如果存在多个value,那么各个value按从左到右的顺序依次插入表头 插入表头:意味着新插入的值在最前 ...
- Python学习杂记_5_列表常用操作
列表操作 列表时用方括号括起来的一组元素值,是可变变量,可通过下表取值,也可以通过下表来修改值,列表中的元素是有序的,可以是不同的基本数据类型,如: names=[1, 2, 3, “abc”, “d ...
- 【Python学习之六】文件操作
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.文件的打开与关闭 使用open函数,可以打开一 ...
- python学习笔记整理——列表
Python 文档学习笔记 数据结构--列表 列表的方法 添加 list.append(x) 添加元素 添加一个元素到列表的末尾:相当于a[len(a):] = [x] list.extend(L) ...
- Python学习---Django的基础操作180116
Django创建数据库操作 django流程之model实例 settigs.py:更改Django2.0.1的配置,更新为之前的路径配置 'DIRS': [os.path.join(BASE_DIR ...
- python学习笔记(2)--列表、元组、字符串、字典、集合、文件、字符编码
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表和元组的操作 列表是我们以后最长用的数据类型之一,通过列表可以最方便的对数据实现最方便的存储.修改等操作 定 ...
- redis入门指南(二)—— 数据操作相关命令
写在前面 以下绝大部分内容取材于<redis入门指南>,部分结合个人知识,实践后得出. 只记录重要,明确,属于新知的相关内容,杜绝冗余和重复. 字符串 1.字符串类型是redis中最常见的 ...
- Linux学习记录--文件IO操作相关系统编程
文件IO操作相关系统编程 这里主要说两套IO操作接口,各自是: POSIX标准 read|write接口.函数定义在#include<unistd.h> ISO C标准 fread|fwr ...
随机推荐
- 完美解决win10系统无法安装.NET Framework问题
今天在安装willow插件的时候系统提示需要安装.NET Framework3.5的问题,当点击系统自动解决的时候,Windows系统又会提示错误,其实这也见怪不怪了,如果能自动解决的话也不会出现这种 ...
- 三个css属性 设置文字竖直居中
display: flex; justify-content:center; align-items:Center;
- cf - 429D
Iahub and Sorin are the best competitive programmers in their town. However, they can't both qualify ...
- 使用zipwithindex 算子给dataframe增加自增列 row_number函数实现自增,udf函数实现自增
DataFrame df = ...StructType schema = df.schema().add(DataTypes.createStructField("id", Da ...
- Kubernetes concepts 系列
kubernetes concepts overview Pod overview Replication Controller Pod Liftcycle Termination Of Pod Re ...
- Activiti服务任务(serviceTask)
Activiti服务任务(serviceTask) 作者:Jesai 都有一段沉默的时间,等待厚积薄发 应用场景: 当客户有这么一个需求:下一个任务我需要自动执行一些操作,并且这个节点不需要任何的人工 ...
- java面试题-spring篇
这次是关于spring的面试题,和上次一样依旧挑了几个具有代表性的. 一. 谈谈你对 Spring 的理解 Spring 是一个开源框架,为简化企业级应用开发而生.Spring 可以是使简单的 Ja ...
- restframework 分页组件、响应器
一.分页组件 1.PageNumberPagination a.全局配置 导入模块 from rest_framework.pagination import PageNumberPagination ...
- (1)C#连接数据库:Connection对象
连接数据库:Connection对象 1.Connection对象概述 Connection对象是一个连接对象,主要功能是建立与物理数据库的连接.其主要包括4种访问数据库的对象类,也可称为数据提供 ...
- Nginx code 状态码说明
最近了解下Nginx的Code状态码,在此简单总结下. 先来再回顾一下一个http请求处理流程: 一个普通的http请求处理流程,如上图所示: A -> client端发起请求给nginx B ...