一、列表

  1.定义与访问元素(按索引)

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan
list_a = ["a","b","c",1,2,3]
list_b = []
print(type(list_a),type(list_b)) #<class 'list'> <class 'list'>
print(list_a[0]) #a
print(list_a[1]) #b
print(list_a[-1]) #3
#print(list_b[0]) #空列表,这样会报错,IndexError: list index out of range

  2.切片(分片)

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan
list_a = ["a","b","c",1,2,3]
print(list_a[1:3]) #取索引为第一和第二的元素:['b', 'c']
print(list_a[-3:-1]) #负数表明从右开始计数,取索引为倒数第三和倒数第二的元素:[1, 2]
print(list_a[-3:]) #取最后三个元素 :[1, 2, 3]
print(list_a[0:]) #从第一个元素开始输出,输出全部结果:['a', 'b', 'c', 1, 2, 3]
print(list_a[:3]) #取前三个元素,等同于 print(list_a[0:3]):['a', 'b', 'c']

  第一个索引的元素包含在分片内,第二个索引的元素不包含在分片内。像数学里的a<=x<b ,x是我们需要得到的元素,a是分片操作中的第一个索引,b是第二个索引,b不包含在x的范围内。

  3.增加元素

  语法:list.append(obj),追加到后面。任意指定位置用insert(index,obj)方法,一次只能插入一个元素

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan
list_a = ["a","b","c",1,2,3]
list_a.append("python")
print(list_a) #追加到后面 :['a', 'b', 'c', 1, 2, 3, 'python']
list_a.insert(2,"NBA") #表示把"NBA"插入到下标为2的位置,即第3个位
print(list_a) #['a', 'b', 'NBA', 'c', 1, 2, 3, 'python']

  

  4.修改元素

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan
list_a = ["a","b","c",1,2,3]
list_a[2] = "about" #直接修改
print(list_a) # ['a', 'b', 'about', 1, 2, 3]

  

  5.删除元素

    5.1   list.remove(obj)

    5.2   del list[x]

    5.3   list.pop(x) = del list[x],如果不输入下标, list.pop() ,默认删除最后一个

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan
list_a = [2,3,4,5,-1,0,1,2,3]
list_a.remove(2) #此参数不是下标,是元素,有重复元素时,删掉第一个 :[3, 4, 5, -1, 0, 1, 2, 3]
del list_a[-1] #-1代表最后一个元素 :[3, 4, 5, -1, 0, 1, 2]
list_a.pop(3) #删掉第三个元素 :[3, 4, 5, 0, 1, 2]
list_a.pop() #删掉最后一个元素 :[3, 4, 5, 0, 1]
print(list_a)

  

  6.确定某个元素所在的位置

  list.index(obj),当元素重复时,返回第一个位置

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan
list_a = [2,3,4,5,-1,0,1,2,3]
print(list_a.index(3)) #返回元素为3的位置,如有重复元素,则返回第一个的位置:1
print(list_a[list_a.index(3)]) #索引 :3

  

  7.copy

    7.1   浅copy

      7.1.1   用copy模块中的copy方法

      7.1.2   用切片的方式

 #!/usr/bin/env python
# -*- coding:utf- -*-
# Author:Hiuhung Wan
import copy
person =["name",["saving",]]
p2 = person[:]
print(p2)

      7.1.3   用列表自带的copy()方法

 #!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan
import copy
person =["name",["saving",100]]
p3 = person.copy()
print(p3)

      7.1.4   list()方法

 #!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan
import copy
person =["name",["saving",100]]
p4 = list(person)
print(p4)

    7.2   深copy

  copy.deepcopy(list)

 #!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan
import copy
person =["name",["saving",100]]
p5 =copy.deepcopy(person)
person[0] = "Wenxh"
person[1][0] = "salary"
print(person)
print(p5)

  8.其他常用方法

    8.1   list.count(ojb),统计元素出现的次数

    8.2   list.clear(),清除列表,列表就没有了

    8.3   list.reverse(),列表元素反转

    8.4   list.sort(),排序(特殊符号<数字<大写<小写,按ASCII排序)

    8.5   list.extend(list2),追加,合并

 #!/usr/bin/env python
# -*- coding:utf- -*-
# Author:Hiuhung Wan
list_a = ["pen","pencil","book","watch","book","coat"]
list_b = ["0car","Ahouse","umbrella","#tichet","shirt"]
print(list_a.count("book")) #统计元素出现的次数 :
#list_a.clear() #清除列表,列表就没有了(空) :[]
print(list_a)
list_a.reverse() #列表元素反转
print(list_a) #['coat', 'book', 'watch', 'book', 'pencil', 'pen']
list_b.sort() #排序(特殊符号<数字<大写<小写,按ASCII排序)
print(list_b) #['#tichet', '0car', 'Ahouse', 'shirt', 'umbrella']
list_a.extend(list_b) #合并,此时list_a的值已发生改变
print(list_a) #['coat', 'book', 'watch', 'book', 'pencil', 'pen', '#tichet', '0car', 'Ahouse', 'shirt', 'umbrella']

二、元组

  也叫只读列表,一旦创建,便不能更改

  1.语法:

tuple = ('ZhangBinbin','MaAiping','TuHui')

  

  2.方法:只有两个,一个是count,一个是index。

Day2:列表、元组的更多相关文章

  1. Day2 列表,元组,字典,集合

    一,列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素. list=['alex', 'jack', 'chen', 'shaoye'] #创建一个列表. 特性: 1.可存 ...

  2. Python学习笔记(1):列表元组结构

    Python的列表元组功能强大,令人印象深刻.一是非常灵活,二是便于集体操作.特别是以元组作为列表项的结构,和数据访问的结果能够对应起来,和习惯的二维表理解上也一致,有很多的用途. 以学习笔记(3)中 ...

  3. Python成长之路第二篇(2)_列表元组内置函数用法

    列表元组内置函数用法list 元组的用法和列表相似就不一一介绍了 1)def append(self, p_object):将值添加到列表的最后 # real signature unknown; r ...

  4. python列表元组

    python列表元组 索引 切片 追加 删除 长度 循环 包含   定义一个列表 my_list = []     my_list = list()   my_list = ['Michael', ' ...

  5. Python第三天 序列 数据类型 数值 字符串 列表 元组 字典

    Python第三天 序列  数据类型  数值  字符串  列表  元组  字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...

  6. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  7. python基础(五)列表,元组,集合

    列表 在python中是由数个有序的元素组成的数据结构,每一个元素对应一个index索引来隐式标注元素在列表中的位置.是python中最常用的一种数据类型.需要注意的是列表中可以有重复相同的数据. 列 ...

  8. Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式

    Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell ...

  9. Python摸爬滚打之day04----基本数据类型(列表,元组)

    1.列表 列表是可变的, 有序的数据类型,列表是按照添加顺序来保存的,可以存放各种数据类型. 1.1    列表的切片(同字符串) 1.2    列表的增删改查 注意: 列表是可以直接在列表上面进行操 ...

  10. python基础知识-04-字符串列表元组

    python其他知识目录 内存,cpu,硬盘,解释器 实时翻译 编译器 :一次性翻译python2,3 除法,2不能得小数,3能得小数 1.字符串操作 1.1字符串操作startswith start ...

随机推荐

  1. 记VS2008初始化Microsoft Visual Sourcesafe源码管理提供程序时失败

    之前vs2008开发一直都好好,不知道为什么如今的vs2008打开和关闭都老是弹出这这个初始化Microsoft Visual Sourcesafe源码管理提供程序时失败的错误 解决方法非常easy: ...

  2. HDOJ 4460 Friend Chains 图的最长路

    类似于树的直径,从随意一个点出发,找到距离该点最远的且度数最少的点. 然后再做一次最短路 Friend Chains Time Limit: 2000/1000 MS (Java/Others)    ...

  3. 与TCP/IP协议的初次见面(一)

    与TCP/IP协议的初次见面(一) 前言 今下午刚才女朋友那边回来,唉,算是情人节去找她吧,穷屌丝住不起好酒店,住的打折酒店,只是女朋友来姨妈了,万幸啊,牙还疼得不行,这几天光照应她了,没空写博客了. ...

  4. HDU 1429 胜利大逃亡(续)(bfs)

    胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  5. Python 值传递和引用传递

    值传递和引用传递 參考地址:http://www.dataguru.cn/thread-489552-1-1.html python的值传递不会改变传入參数的值,而引用传递传入的是一个地址.有点相似c ...

  6. Java 位运算符 深入理解

    在Java中存在着这样一类操作符,是针对二进制进行操作的.它们各自是&.|.^.~.>>.<<.>>>几个位操作符.不管是初始值是依照何种进制,都会换 ...

  7. windows下go语言环境

    1  liteIDE ,随便装哪儿都行 2  GO语言包 安装  ,我安装到了 c:\go  (顺便给个地址下载地址  https://golang.org/dl/  ) 3  GCC编译器 安装,同 ...

  8. java好文章链接

    ❀Java内存分配全面浅析:http://blog.csdn.net/yangyuankp/article/details/7651251 ❀自定义控件进阶篇1:http://mp.weixin.qq ...

  9. WebMethod Description

    http://www.webxml.com.cn/WebServices/WeatherWebService.asmx https://www.cnblogs.com/wanganyi/p/72202 ...

  10. GetInvocationList 委托链表

    最近发现C#程序初始化时在构造函数中,偶尔出现事件注册不成功.后查资料发现有GetInvocationList 这么一个获取类中的委托链表的函数, 使用方法如下: 1.在需委托的类(Class1)中增 ...