names=["zhangyang","guyun","xiangpeng","leiming","xuliangchen"]
#查看
print(names[0],names[2])
print(names[0:2]) #切片:前两个
print(names[-1]) #从后面开始取
print(names[-3:-1]) #取出guyun,xiangpeng
print(names[-3:]) #后3个 #追加到最后
names.append("leihaidong")
#print(names)
#插入
names.insert(1,"leiming")
names.insert(3,"xinzhiyu")
print(names)
#改
names[2]="xiedi" #correct
print(names)
#删
#names.remove("leiming") #delete1
#names.pop(1) #delete2
print(names) #显示某一项的位置
print(names.index('xiangpeng'))
#显示某一项出现的次数
print(names.count('leiming')) #names.clear() #清空 #names.reverse() #反转
#names.sort() #排序,按照ascii码表排序 #扩展,后删除列表
names2=[1,2,3]
names.extend(names2)
del names2
print(names) #浅copy
names=["zhangyang","guyun","xiangpeng",["alex","jack"],"leiming","xuliangchen"]

names3=names.copy() #第1种
'''
names3=copy.copy(names) #第2种,前面要加import copy
names3=names[:] #第3种,全切片
'''
print(names)
print(names3)
names2=names
names[2]="向鹏"
names[3][0]="Alex Angle"
names3[3][1]="JACK"
print(names)
print(names3)
print(names2)

#结果

['zhangyang', 'guyun', 'xiangpeng', ['alex', 'jack'], 'leiming', 'xuliangchen']
['zhangyang', 'guyun', 'xiangpeng', ['alex', 'jack'], 'leiming', 'xuliangchen']

['zhangyang', 'guyun', '向鹏', ['Alex Angle', 'JACK'], 'leiming', 'xuliangchen']
['zhangyang', 'guyun', 'xiangpeng', ['Alex Angle', 'JACK'], 'leiming', 'xuliangchen']

在复制时,第一层相当于重新copy了一份;而第二层相当于指针(无论改names还是names3的第二层,两个列表都发生改变)

['zhangyang', 'guyun', '向鹏', ['Alex Angle', 'JACK'], 'leiming', 'xuliangchen']

#深copy(一般不用)

import copy

names4=copy.deepcopy(names)

names[2]="向鹏"
names[3][0]="Alex Angle"
print(names4)
#结果
['zhangyang', 'guyun', 'xiangpeng', ['alex', 'jack'], 'leiming', 'xuliangchen'] #跳着打印
names=["zhangyang","guyun","xiangpeng","leiming","xuliangchen"]
print(names[0:-1:2])
print(names[::2])
#结果

['zhangyang', 'xiangpeng']
['zhangyang', 'xiangpeng', 'xuliangchen']

#浅copy示例(夫妻共有的银行账户)

person=["name",["saving",100]]

p1=person[:]
p2=person[:] p1[0]='alex'
p2[0]='alice' p1[1][1]-=70
print(p1)
print(p2) #结果

['alex', ['saving', 30]]
['alice', ['saving', 30]]

python第二章(2)列表的更多相关文章

  1. 简学Python第二章__巧学数据结构文件操作

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

  2. HTML第二章:列表,表格,媒体元素

    第二章:列表,表格,媒体元素 列表:有三种,有序列表,无序列表,定义列表 1.有序列表:<ol></ol>            列表项:<li></li&g ...

  3. [ABP教程]第二章 图书列表页面

    Web应用程序开发教程 - 第二章: 图书列表页面 关于本教程 在本系列教程中, 你将构建一个名为 Acme.BookStore 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开 ...

  4. Python 第二章-列表和元组

    第二章-列表和元组 2.0      在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序列号-即元素的位置, 也称为索引.第一个索引是0,第二个是1,以此类推. ...

  5. 《Python基础教程》第二章:列表和元组(1)

    列表可以修改,元组则不能 字符串就是一个由字符组成的序列 使用分片操作来访问一定范围内的元素,分片操作的实现需要提供两个索引作为边界,第一个索引的元素是包含在分片内的,而第二个不包含在分片内. 如果分 ...

  6. 《Python基础教程》第二章:列表和元组(2)

    list函数可以将字符串转换为列表 ' '.join(somelist)可以将列表转换为字符串 从列表中删除元素可以使用del语句来实现 方法是与对象有紧密联系的函数:对象.方法(参数) append ...

  7. python第二章:数据类型--小白博客

    标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) Python3 ...

  8. python第二章:控制流

    变成实际上是一个过程的提现,每个过程都是有多个流程块组成. 比如:判断是否下雨的过程 1.布尔值 在第一章最后举例了比较操作后,最终返回的结果 True or False True 和 False是一 ...

  9. machine learn in python 第二章2.1.1

    1大约 sklearn.datasets from sklearn.datasets import load_iris import numpy as np data = load_iris() da ...

随机推荐

  1. Context initialization failed

    Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: Invali ...

  2. Percona Server 5.6 安装TokuDB

    系统:Red Hat Enterprise Linux Server release 6.3 (Santiago) 数据库:Percona-Server-5.6.29-rel76.2-Linux.x8 ...

  3. MySQL半同步安装以及参数

    MySQL半同步安装以及参数 基于MySQL5.5 官档地址: Semisynchronous Replication Administrative Interface https://dev.mys ...

  4. python面向对象三大特性之一继承、多态、封装

    继承,即在定义一个类时,以另一个类为参数,则称这个新定义的类继承了参数类,父类又称为基类. 单继承表示只继承一个类,多继承表示继承多个类. class parent1: pass class pare ...

  5. 用switch语句根据消费金额计算折扣

    最终输出效果: 代码: package com.mingrisoft; import java.util.Scanner; public class ProductPrice { public sta ...

  6. Python3 hasattr()、getattr()、setattr()函数简介

    Python3 hasattr().getattr().setattr()函数简介 一.hasattr(object, name) 判断object对象中是否存在name属性,当然对于python的对 ...

  7. Intellij IDEA搭建vue-cli项目

    1.安装/升级node环境 vue-cli对于node和npm的版本是有要求的.     可以通过 node -v (npm -v)查看当前版本,通过 where node (where npm)查看 ...

  8. Python 人工智能之人脸识别 face_recognition 模块安装

    Python人工智能之人脸识别face_recognition安装 face_recognition 模块使用系统环境搭建 系统环境 Ubuntu / deepin操作系统 Python 3.6 py ...

  9. QML使用的内置对象

    QML从ECMAScript继承而来,所以支持这个ECMAScript.经常在QML工程中看到Math.Data.....等方法,但是在Qt手册里搜索不到,这是因为这些方法不是QtQuick的,而是E ...

  10. Eclipse使用maven命令安装第三方jar包

    使用原因: 使用maven时,有些第三方jar包是不能从maven远程仓库中下载得到,因此导致在pom.xml中添加jar包依赖时会怎么添加都会报错(Missing artifact ojdbc:oj ...