list函数:
功能:将字符创转化为列表,例:
列表基本函数:
1.元素赋值,例:
注意:通过list[0]= 'hel',如果原来位置上有值,会覆盖掉原来的。
2. 分片操作
1)修改序列,例:
2)插入序列,例:
注意:往list的某个位置插入列表或字串时,列表的每项、字串的每个字符都会作为list1的一个元素,而不会整体插入。
思考:若想整体插入呢?(insert函数)
3)删除序列,例:
del 函数
>>> a = [-1, 1, 66.25, 333, 333, 1234.5]
>>> del a[0] #删除下标为0的元素
>>> a
[1, 66.25, 333, 333, 1234.5]
>>>del a[2:4] #从列表中删除下标为2,3的元素
>>> a
[1, 66.25, 1234.5]
>>>del a[:] #全部删除 效果同 del a
>>> a
[]
count函数
功能:统计列表中某元素出现的次数。例:
len函数
功能:统计列表中元素的个数。例:
append函数
功能:往列表的最后一个位置插入(入栈)操作。例:
扩展:可以”+“号 来实现列表的拼接。例:
.extend函数
功能:修改原序列,链接两个序列产生新的序列。例:
7. insert函数
功能:将元素插入到列表的指定位置。例:
8. pop函数
功能:删除指定位置元素。例:
注意:pop(n),n指明在列表中的位置,如果pop(),默认弹出最后一个元素(出栈操作)。
remove函数
功能:删除第一个指定元素。例:
思考:怎样删除所有的指定元素?
.index函数
功能:从列表中找出与某个元素匹配的第一个匹配项的位置
reverse函数
功能:翻转列表。例:
sort函数
功能:队员列表进行排序
注意:sort函数修改了原序列,这里如果是采用b = a的方式,那么b和a指向同一个列表(潜拷贝)。例:
思考:那么如何不改变原序列呢?
方法一:可以利用sorted()函数。例:
方法二:创建副本。例:
注意: 对于列表a:
b = a 那么b和a都指向同一个列表
b = a[:] 那么a创建了一个列表副本
关键字排序:key
长度(len)排序:
关键字排序:reverse()
注意:reverse = True 降序
reverse = False 升序
cmp函数
功能:比较两个元素的大小。例:
注意:(1)两个元素相同返回0,前大后小返回1,前小后大返回-1
(2)比较的对象是元素首个字符的ascii值,例:
set函数
功能:列出列表中不重复的元素(去重)集合。例:
注意:利用set() 函数后就变成了集合,集合例元素无序,再利用list2[2]就出错了。
15. enumerate():遍历元素及下标
enumerate 函数用于遍历序列中的元素以及它们的下标
for i, v in enumerate(['tic', 'tac', 'toe']):
print i,v
result:
0 tic
1 tac
2 toe
zip():
zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压)。
questions = ['name', 'quest', 'favorite color']
answers = ['lancelot', 'the holy grail', 'blue']
for q, a in zip(questions, answers):
print 'What is your {0}? It is {1}.'.format(q, a)
What is your name? It is lancelot.
What is your quest? It is the holy grail.
What is your favorite color? It is blue.
有关zip举一个简单点儿的例子:
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c)
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped)
[(1, 2, 3), (4, 5, 6)]