概述:
将字符串转换为列表。
list() -> new empty list
list(iterable) -> new list initialized from iterable‘s items
命令行演示:
>>> name = ‘Alex‘
>>> name_list = list(name)
>>> name_list
[‘A‘, ‘l‘, ‘e‘, ‘x‘]
列表的内部函数:
1.元素赋值,例:
注意:通过list[0]= ‘hel‘,如果原来位置上有值,会覆盖掉原来的。
2.分片操作
1)显示序列,例:
注意:(1)list1[beg:end]将显示列表的从list1[beg]到list1[end-1]的元素,list1[end]不会显示
(2)list1[beg:end]省略beg,默认beg= 0; 省略end默认end = len(list1)。因此list1[:]显示整个列表。
2)修改序列,例:
3)插入序列,例:
注意:往list1的某个位置插入列表或字串时,列表的每项、字串的每个字符都会作为list1的一个元素,而不会整体插入。
思考:那作为整体插入咋办?
4)删除序列,例:
3.count函数
功能:统计列表中某元素出现的次数。例:
4.len函数
功能:统计列表中元素的个数。例:
5.append函数
功能:往列表的最后一个位置插入(入栈)操作。例:
扩展:可以”+“号 来实现列表的相加。例:
6.extend函数
功能:修改原序列,链接两个序列产生新的序列。例:
7.insert函数
功能:将元素插入到列表的指定位置。例:
8.pop函数
功能:删除指定位置元素。例:
注意:pop(n),n指明在列表中的位置,如果pop(),默认弹出最后一个元素(出栈操作)。
9.remove函数
功能:删除第一个指定元素。例:
思考:怎样删除所有的指定元素?
10.index函数
功能:从列表中找出与某个元素匹配的第一个匹配项的位置
11.reverse函数
功能:翻转列表。例:
12.sort函数
功能:队员列表进行排序
注意:sort函数修改了原序列,这里如果是采用b = a的方式,那么b和a指向同一个列表。例:
思考:那么如何不改变原序列呢?
方法一:可以利用sorted()函数。例:
方法二:创建副本。例:
注意: 对于列表a:
b = a 那么b和a都指向同一个列表
b = a[:] 那么吧创建了一个列表副本
关键字排序:key
长度(len)排序:
关键字排序:reverse()
注意:reverse = True 降序
reverse = False 升序
13.cmp函数
功能:比较两个元素的大小。例:
注意:(1)两个元素相同返回0,前大后小返回1,前小后大返回-1
(2)比较的对象是元素首个字符的ascii值,例:
14. set函数
功能:列出列表中不重复的元素(去重)集合。例:
注意:利用set() 函数后就变成了集合,集合例元素无序,再利用list2[2]就出错了。
列表的操作:
假设有如下列表:
sample_list = [‘a‘,‘b‘,0,1,3]
1.得到列表中的某一个值:
value_start = sample_list[0]
end_value = sample_list[-1]
2.删除列表的第一个值:
del sample_list[0]
3.在列表中插入一个值:
sample_list[0:0] = [‘sample value‘] # 在0位置处插入值,如果把两个0都改成1,则是在1位置处插入值
4.得到列表的长度:
list_length = len(sample_list)
5.列表遍历:
for element in sample_list:
print(element)
三、Python 列表高级操作/技巧
1.产生一个数值递增列表:
num_inc_list = range(30)
#will return a list [0,1,2,...,29]
2.用某个固定值初始化列表:
initial_value = 0
list_length = 5
sample_list = [ initial_value for i in range(10)]
sample_list = [initial_value]*list_length
# sample_list ==[0,0,0,0,0]