python:4:列表基本用法及相关函数(2)

来源:互联网 发布:小学同步教学软件 编辑:程序博客网 时间:2024/06/05 10:36

第一章:python

第四节:内建函数,列表字符串转换

1,列表类型的内建函数

list.append(obj)
向列表中添加一个对象,可以向列表中添加数字,变量,字符串,列表或元组
>>> l=[1,1,2,2,3,3,4,4,5,5]
>>> l.append(6)
>>> l
[1,1,2,2,3,3,4,4,5,5,6]

list.cound(obj)
返回一个对象obj在列表中出现的次数
>>> l=[1,1,2,2,3,3,4,4,5,5]
>>> l.count(1)
2

list.extend(seq)
把序列seq的内容添加到列表中,但添加有一定的限制(可添加字符串或列表,而数字和元组不能添加
>>> l=[1,1,2,2,3,3,4,4,5,5]
>>> l.extend([6,7])
>>> l
[1,1,2,2,3,3,4,4,5,5,6,7]

list.append和list.extend的区别
append(obj),obj的内容作为元素添加到list列表中
extend(seq),seq若为字符串,则效果和append相同,若seq为列表,则相当于list列表和seq列表合并

list.insert(index, obj)
在索引值为index的位置插入对象obj
>>> l=[1,1,2,2,3,3,4,4,5,5]
>>> l.insert(0, 11) #index=0表示在开头插入,即第1个元素插入
>>> l
[11,1,1,2,2,3,3,4,4,5,5]
>>> l.insert(-1, 11)
>>> l
[11,1,1,2,2,3,3,4,4,5,11,5]

list.index(obj, i=0, j=len(list))
返回对象在列表当中的索引值
返回list[k]==obj的k值,并且k的范围在i<=k<j;否则引发ValueError异常(包括index的起始值,但不包括index的终止值)
>>> l=[1,1,2,2,3,3,4,4,5,5]
#索引值 0,1,2,3,4,5,6,7,8,9
>>> l.index(3, 2, 4) #[2,2]=list (2,3)=index
ValueError
在 l 列表中,在index值的2,3出,l[2]=2, l[3]=2,未出现数值为3,4为 j 的值,但不包括4这个索引的值,所以会报错
>>> l.index(2, 2, 4) #[2, 2]=list (2, 3)=index
2
2为 l 列表当中出现obj为2的索引,其值为2

list.pop(index=-1)
通过指定索引值,删除该索引值指定的对象,默认是最后一个对象,其index为-1,(这里不用写入’index=’这几个字,只输入数字即可),返回删除的对象(即list中的元素)
>>> l=[1,1,2,2,3,3,4,4,5,5]
>>> l.pop()
5
>>> l
[1,1,2,2,3,3,4,4,5]
>>> l.pop(0)
1
>>> l
[1,2,2,3,3,4,4,5]

list.remove(obj)
从列表中删除对象obj,对象仅被删除,不再赋值
>>> l=['h', 'e', 'll', 'o']
>>> s=l.remove('h')
>>> s #没有被赋值

list.reverse()
原地翻转列表,将列表中的最后一个元素变为第一个元素,该方法不能进行再赋值,只是list本身的翻转
>>> l=['h', 'e', 'll', 'o']
>>> l.reverse()
>>> l
['o', 'll', 'e', 'h']

list.sort(func=None, key=None, reverse=False)
以指定的方式排序列表中的成员,如果func和key参数指定,则按照指定的方式比较各个元素,如果reverse标志被置为True,则列表以反序排列
>>> l=['h', 'e', 'll', 'o']
>>> l.sort()
>>> l
['e', 'h', 'll', 'o']
>>> l.sort(reverse=True)
>>> l
['o', 'll', 'h', 'e']

2,将列表中的元素连接成一个字符串

将列表中的元素连接成一个字符串(这里单单指一维单纯列表)

方法1:利用‘+=’来连接各个列表各个元素
>>> l=[1,2,2,3,3,4,4,5]
>>> big_string=''
>>> for i in l:
...····big_string+=str(i)+''
>>> big_string
'12233445'

方法2:使用 string.join() 合并list列表中字符串内容
>>> import string
>>> import itertools
>>> l=['h', 'e', 'll', 'o']
>>> s=''.join(itertools.chain(*l))
>>> s
'hello'
该方法是因为python没有内置函数可以将列表的所有元素连接起来,类似于string的join函数,所以可以采用上面的方法,即迭代器工具
参考如下网站:廖雪峰的官方网站:Python 2.7教程中的itertools

文件逐行读取:
>>> [x.strip() for x in open('file')]