序列的基本操做
拼接序列
python
使用‘+’号拼接相同类型的序列,新序列可能有重复元素app
print [1,2,3]+[2,3,4]+[4,5] print 'hello '+ 'world!'
序列*数字
函数
用数字x乘以一个序列会生成新序列,原序列会被重复x次学习
print [1,2,2]*2 #能够用None关键字建立指定长度的空列表 print [None]*4
将控制台输入的英文用‘盒子’包含住打印输出
spa
#raw_input函数会将控制台输入转为字符串 words=raw_input("input:") #len()函数能够获取序列长度 width=len(words) print '+'+'-'*width+'+' print '|'+words+'|' print '+'+'-'*width+'+'
判断一个序列是否包某一个元素——incode
控制台的输入在指定序列中,则输出访问成功排序
dataList=[ ['lisi','123'], ['zhangsan','234'], ['wangwu','325'] ] userName=raw_input('input name:') userPwd=raw_input('input password:') userInput=[userName,userPwd] if userInput in dataList: print 'access granted!'
内建函数len、min、max索引
numbers=[4,2,44,56,3,22] print len(numbers) #这里使用了占位符‘%’,将%d替换为%后表示的数字 print "min number:%d" %min(numbers) print "the min is:%d" %(min(2,4,3)) print "max number:%d" %(max(numbers)) print "the max is:%d" %(max(2,4,3))
列表
前面的例子中已经用到了不少次列表,这里学习列表与元组、字符串的不一样之处——列表是可变的,即改变列表内容。
rem
list函数主要用来将指定序列转为列表,例如将字符串转为列表字符串
print list('hello') print list()
删除列表中的元素--del关键字
names=['lisi','wangw','zhaoliu','lucy','lily'] del names[1] print names
分片赋值
注意,不能给一个索引位置不存在的位置赋值(单索引赋值)
改变原列表长度的赋值,这保留了原列表中的部分元素
names=['lisi','wangw','zhaoliu','lucy','lily'] names[2:]=list('hello') names[2:]=[1,2,3,5,8]
append(param):在列表末尾添加一个元素
names=['lisi','wangw','test','lucy','lily'] #在列表末尾添加一个元素 names.append("test")
count(obj):统计列表中元素obj出现的次数
print names.count('test')
extend(list):将指定序列添加到原序列,与链接符‘+’相比,该方法改变了原序列,更高效
names.extend([1,2,4])
index(param):获取列表中指定元素的索引,该元素必须在列表中
print names.index("test")
insert(index,obj):在列表的指定索引处插入一个元素
names.insert(2, 3)
pop([index]):移除列表中的指定索引元素(默认最后一个)并返回
print names.pop() print names.pop(0)
remove(obj):移除列表中的第一个obj元素
#remove方法用于移除列表中首个指定元素, #remove是针对元素,del是针对索引 del names[1] names.remove('test')
reverse():将列表倒序
names.reverse()
复制一个列表
myList=[11,8,12,4,1,1,3] #这里有效的复制了一个列表,若是使用赋值,表明两个变量指向同一个列表 list1=myList[:]
内建函数sorted(obj)能够不改变原有列表,返回一个排序的新列表,适用于任何元素
list2=sorted(myList)
内建函数cmp(x, y):比较元素x、y,x<y则返回负数,x>y返回正数,x==y返回0
print cmp(12, 14)
sort(cmp=None, key=None, reverse=True):对列表进行排序,sort方法并不会返回新列表,它会改变原有列表
cmp:是比较函数,能够自定义
key:对列表中元素建立一个key,而后按照各个元素的key对列表排序
reverse参数为True表示降序,False表示升序;
list1.sort(cmp=None, key=None, reverse=True) #按照列表names中元素的长度排序 names = ['lis','test','aa','aaaaaaa','bbbbb'] names.sort(cmp=None, key=len, reverse=False)
序列之元组——不可变序列
元组与列表同样,都是序列,惟一不一样的就是元组不可修改(字符串也不可修改)
定义一个元组
temp=(1,2,5)
定义一个元组,且该元组只有一个元素,元素后必须加‘,’号,不然会变为数值
temp=(1,)
元组的拼接,数乘,分片(‘:’切割),包含判断等都可参考序列的方法
tuple:将指定序列转为元组
tuple('123')