python 2.7 数据结构之列表list: 基础面试总结
python 列表函数及方法:
函数如下:
1 cmp(list1,list2) 比较两个列表中的元素
2 len(list) 列表元素个数
3 max(list) 返回列表元素最大值
4 min(list) 返回列表元素最小值
5 list(seq) 将元组转换成列表
方法如下:
1 list.append(obj) 在列表末尾添加新的对象
2 list.count(obj) 统计某个元素在列表中出现的次数
3 list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4 list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
5 list.insert(index,obj) 将对象插入列表中
6 list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7 list.remove(obj) 移除列表中某个值的第一个匹配项
8 list.reverse() 反向列表中元素
9 list.sort(cmp=None,key=None,reverse=False) 对原列表进行排序
10 判断元素是否存在列表中(面试说查找元素): x in list
代码演示: 函数如下:
1 cmp(list1,list2)
# list1=[1,2,3,4,5]
# list2=[1,2,3,4,5,6]
# list3=[1,2,3,4,5,6]
# cmp(list1,list2) #得 -1
# cmp(list2,list1) #得 1
# cmp(list3,list2) #得 0
2 len(list)
# list1=[1,2,3,4,5]
# len(list) #得5
3 max(list)
# list1=[1,2,3,4,5]
# max(list1) #得5
4 min(list)
# list1=[1,2,3,4,5]
# min(list1) #得1
5 list(seq)
# aTuple=(123,'xyz','zara','abc')
# alist=list(aTuple) #得[123,'xyz','zara','abc']
面试常问问题:
排序;最大值;最小值;去重;列表与元组之间数据类型转换;添加;移除元素;查找list长度;清空;判断元素是否存在(或者是查找);
1 list列表 排序
# alist=[123,'Google','Runoob','Taobao','Facebook']
# alist.sort()
# print alist # [123, 'Facebook', 'Google', 'Runoob', 'Taobao']
2 list列表排序:使用sort,设置降序
# alist=[123,'Google','Runoob','Taobao','Facebook']
# alist.sort(reverse=True)
# print alist # ['Taobao', 'Runoob', 'Google', 'Facebook', 123]
3 list列表通过指定列表中的元素排序来输出列表
#coding=utf-8
def takesecond(elem):
return elem[1]
random=[(2,2),(3,4),(4,1),(1,3)]
random.sort(key=takesecond)
print random # 得:[(4, 1), (2, 2), (1, 3), (3, 4)]
4 list列表最小值:
# min(list)
5 list列表最大值:
# max(list)
6 list列表去重:使用两个列表进行去重操作
# ids=[1,2,3,3,4,2,3,4,5,6,1]
# new_ids=[]
# for id in ids:
# if id not in news_ids:
# news_ids.append(id)
#print new_ids
7 list列表去重,使用set特性
# ids=[1,2,3,3,4,2,3,4,5,6,1]
# ids=list(set(ids))
8 列表与元组之间类型转换:
# list转元组 tuple(seq)
# 元组转list list(seq)
9 列表个数:
# len(list)
10 清空全部: list=[] #(2里面有[]空赋值操作,3里面有clear方法)
11 判断元素是否存在:x in list
参考文章:
http://www.runoob.com/manual/pythontutorial/docs/html/datastructures.html# python2.7.13 中文 数据结构
http://www.runoob.com/python/python-lists.html 菜鸟教程list列表
[本篇文章仅供学习交流参考]
面试是对以往知识的积累,总结。平日里多总结,多积累。