1.列表:列表是Python最常用的变量类型,列表是一个可变序列,序列中的每一个元素都分配一个数字即它的位置,或者叫做索引
列表中的元素可以是数字,字符串,列表,元组,字典....
(1)Python使用中括号[],来解析列表,给一个变量赋值为空列表,很简单,执行var=[]就可以了
(2)列表的基本操作很简单,常用的操作一般是:创建列表,插入列表,追加数据,访问数据,删除数据
创建列表:
插入,追加,删除列表数据:
列表分片:对列表最常用的操作,分片可以简单的理解为将一个列表分成几块,它的操作方法是list[index1:index2[:step]]
写一个简单的程序验证列表的属性和操作方法:showList.py
# !usr/bin/env python
# -*- coding:utf-8 -*-
class ShowList(object):
def __init__(self):
self.L1=[]
self.L2=[]
self.createList()
self.insertData()
self.appendData()
self.deleteData()
self.subList()
def createList(self):
print("创建列表:")
print("L1=list('abcdefg')")
self.L1=list('abcdefg')
print("L2=[]")
print("for i in xrang(0,10):")
print(" L2.append(i)")
for i in xrange(0,10):
self.L2.append(i)
print("L1= ")
print(self.L1)
print("L2= ")
print(self.L2)
print(" ")
def insertData(self):
print(u"插入数据")
print(u"L1列表中第三个位置插入数字100,执行命令:L1.insert(3,100)")
self.L1.insert(3,100)
print("L1= ")
print(self.L1)
print(u"L2列表中第10个位置插入字符串'python',执行命令:L2.insert(10,'python')")
self.L2.insert(10,'python')
print("L2= ")
print(self.L2)
print(' ')
def appendData(self):
print(u"追加数据")
print(u"L1列表尾追加一个列表[1,2,3],执行命令:L1.append([1,2,3])")
self.L1.append([1,2,3])
print("L1= ")
print(self.L1)
print(u"L2列表尾追加一个元组('a','b','c'),执行命令:L2.append(('a','b','c'))")
self.L2.append(('a','b','c'))
print("L2 = ")
print(self.L2)
print(' ')
def deleteData(self):
print(u"删除数据")
print(u"删除L1的最后一个元素,执行命令:L1.pop()")
self.L1.pop()
print("L1 = ")
print(self.L1)
print(u"删除L1的第一个元素,执行命令:L1.pop(0)")
self.L1.pop(0)
print("L1 =")
print(self.L1)
print(u"删除L2的第四个元素,执行命令:L2.pop(3)")
self.L2.pop(3)
print("L2 =")
print(self.L2)
print(' ')
def subList(self):
print(u"列表分片")
print(u"取列表L1的第三个到最后一个元素组成的新列表,执行命令:L1[2:]")
print(self.L1[2:])
print(u"取列表L2的第二个到倒数第二个元素组成的新列表,步长为2,执行命令:L2[1:-1:2]")
print(self.L2[1:-1:2])
print(' ')
if __name__=='__main__':
print("演示列表操作: ")
sl=ShowList()
执行结果如下:
2.元组:Python的元组与列表非常相似,不同之处在于元组的元素是不可修改的,它是一个不可变序列,列表使用[]声明,元组使用()声明
(1)创建一个空元组,执行命令var=()
(2)元组中的元素不可修改,所以列表中的操作方法insert,append,pop等操作对于元组都没有,但是元组与列表高度相似,所以列表的切片对元组是完全适用的(切片并不改变原始数据)
(3)列表中修改元素值的操作对元组来说都不适用,列表中不修改元素值的操作对元组来说都可以;
(4)元组和列表是可以互相转换的,使用tuple(list)可以将一个列表转换成元组,使用list(tuple)可以将一个元组转化成列表
编写一个showTuple.py实验一下:
# !usr/bin/env python
# -*- coding:utf-8 -*-
class ShowTuple(object):
def __init__(self):
self.T1=()
self.createTuple()
self.subTuple(self.T1)
self.tuple2List(self.T1)
def createTuple(self):
print(u"创建元组:")
print(u"T1=(1,2,3,4,5,6,7,8,9,10)")
self.T1=(1,2,3,4,5,6,7,8,9,10)
print(u"T1 =")
print(self.T1)
print(' ')
def subTuple(self,Tuple):
print(u"元组分片:")
print(u"取元组T1的第四个到最后一个元组组成的新元组,执行命令:T1[3:]")
print(self.T1[3:])
print(u"取元组T1的第二个到倒数第二个元素组成的新元组,步长为2,执行命令:T1[1:-1:2]")
print(self.T1[1:-1:2])
print(' ')
def tuple2List(self,Tuple):
print(u"元组转换成列表:")
print(u"显示元组")
print(u"T1= ")
print(self.T1)
print(u"执行命令:L2=list(T1)")
L2=list(self.T1)
print(u"显示列表")
print(u"L2 =")
print(L2)
print(u"列表追加一个元素100后,转换为元组,执行命令:L2.append(100) tuple(L2)")
L2.append(100)
print(u"显示新元组")
print(tuple(L2))
if __name__=='__main__':
st=ShowTuple()
执行结果如下: