python 列表学习

一、创建一个列表(list_使用逗号分隔不同的数据项,使用方括号括起来。

  list = [1,2,3,4,5,6,7]

与字符串的索引一样,列表索引从 0 开始,列表可以截取、组合。

二、访问列表中的值

使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符

list1 = [‘physics’,’chemistry’,1997,2000]

list2 = [1,2,3,4,5,,6,7]

print(list1[0])

print(list2[1:5])

三、更新列表

你可以对列表的数据项进行修改或者是更新,你也可以使用append()方法来添加列表项

list = [‘physics’,’chemistry’,1997,2000]

print(“Value available at index 2 :”)

print(list[2])

list[2] = 2001

pirnt(“New value available at index 2 :”)

print(list[2])

1.append() 追加单个元素到list的尾部,只接受一个参数,参数可以是任何数据类型, 被追加的元素在list 中保持着原结构类型。

*此元素如果是一个list,那么list作为一个整体追加。(注意append()extend()的区别)

list1 = [‘a’,’b’]

list1.append(‘c’)

list1 输出 [ ‘a’ , ‘b’ , ‘c’ ]

2.extend() 将一个list中的每一个(整体)元素添加到另一个list中(连接两个list

>>> list1

[ ‘a’ , ‘b’ , ‘c’ ]

>>>list2

[ ‘d’ , ‘e’ ]

>>> list1.extend(list2)

>>> list1

[ ‘a’ , ‘b’ , ‘c’ , ‘d’ , ‘d’ , ‘e’ ] 

3.insert() 将一个元素插入到list指定位置中,insert(1 , ‘g’)第一个是索引点,第二个是插 入的元素。

>>> list1

[ ‘a’ , ‘b’ , ‘c’ , ‘d’ ]

>>>list1.insert( 1 ,’x’ )

>>>list1

[ ‘a’ , ‘x’ , ‘b’ , ‘c’ , ‘d’ ]

+ 号,将两个list相加,会返回一个新的list对象,注意区别:前三者函数可对list添加操作,但没有返回值,是直接改变原数据对象, 注意:将两个list相加,需要创建新的list对象,从而需要消耗额外的内存,特别是当list较大时,尽量不要使用“+”来添加list,而应该尽可能使用Listappend()方法。

 注意:将两个list相加,需要创建新的list对象,从而需要消耗额外的内存,特别是当list较大时,尽量不要使用“+”来添加list,而应该尽可能使用Listappend()方法。

>>>list1

[ ‘a’ , ‘x’ , ‘b’ , ‘c’ , ‘d’ ]

>>>list2=[ ‘y’ , ‘z’ ]

>>>list3=list1+list2

>>>list3

[ ‘a’ , ‘x’ , ‘b’ , ‘c’ , ‘d’ , ‘y’ , ‘z’ ]

四、删除list元素

可以使用 del 语句来删除list的元素

五、python列表脚本操作符

列表对+*的操作符与字符串相似,+号用于组合列表,*号用于重复列表

Python 表达式

结果

描述

len([1, 2, 3])

3

长度

[1, 2, 3] + [4, 5, 6]

[1, 2, 3, 4, 5, 6]

组合

['Hi!'] * 4

['Hi!', 'Hi!', 'Hi!', 'Hi!']

重复

3 in [1, 2, 3]

True

元素是否存在于列表中

for x in [1, 2, 3]: print x,

1 2 3

迭代

六、python列表截取

Python 表达式

结果

描述

L[2]

'SPAM!'

读取列表中第三个元素

L[-2]

'Spam'

读取列表中倒数第二个元素

L[1:]

['Spam','SPAM!']

从第二个元素开始截取列表

七、python 列表操作的函数和方法

函数

作用

list.append(‘元素’)

list尾部添加一个元素

list.extend([‘元素1’,’2’,’N’])

list尾部添加一个新的list序列

list.insert( K , 元素 )

listk位置添加元素

list.clear()

清空list序列内容

list.copy()

复制list序列

list(seq)

seq元组转为列表

list.remove(k)

klist中删除

del.list([k])

删除k位置的内容(空则清空整个list

list.pop(k)

提取listk位置的内容

list.count(k)

查找k值在list中的次数

list.index(k,i,j)

查找i - j之间第一个k元素的位置

list.reverse()

顺序翻转list序列

list.sort()

正序排列list内容

八、元祖1.元组的值,不能改变,是一个不可便的列表,可以通过访问下标和切片的方式查询,但是想要修改必须先转成list#tup1 = ('physics', 'chemistry', 1997, 2000)  #定义元祖

#print tup1[1]   #打印结果:chemistry

#tup1[0] = 100   #这种修改方式是非法的

#tup2=list(tup1) #想要修改元祖,必须先将其转换成list才可以

#print tup2      #打印结果:['physics', 'chemistry', 1997, 2000]

#tup2[2] = '1989'

#print tup2           #打印结果:['physics', 'chemistry', 1989, 2000]

2.元祖只有countindex方法

names=('mike','mark','candice','laular','mark','msr')

print(names.count('mark')) #打印结果:2

print(names.index('msr')) #打印结果:

你可能感兴趣的:(python 列表学习)