python列表面试题


1、习题 L = [1, 2, 3, 5, 6],如何得出 '12356'?

答: 注意,个人觉得这个题有坑,列表的元素不是字符串,所以不能 ''.join(L)。以下是过程: # -*- coding: UTF-8 -*- #!/usr/bin/python L=[1, 2, 3, 5, 6] s='' for i in L: s=s+str(i) print(s) print(type(s)) 执行返回结果: 12356     4、L = [1, 2, 3, 11, 2, 5, 3, 2, 5, 3],用一行代码得出 [11, 1, 2, 3, 5] 答: list(set(L))     5、L = [1, 2, 3, 4, 5],L[10:]的结果是? 答: 空列表 6、列表和字典有什么区别? 答: 一般都是问列表和元组有什么不同。 (1)获取元素的方式不同。列表通过索引值获取,字典通过键获取。 (2)数据结构和算法不同。字典是 hash 算法,搜索的速度特别快。 (3)占用的内存不同。   7、python中列表 append和extend的区别 list.append(object) 向列表中添加一个对象object list.extend(sequence) 把一个序列seq的内容添加到列表中 例如: L1 = [1, 2, 3, 11, 2, 5, 3, 2, 5, 3] L2 = list(set(L1)) print (L2) L2.append('www') print(L2) L2.extend([12,322,'er']) 返回结果: [11, 1, 2, 3, 5] [11, 1, 2, 3, 5, 'www'] [11, 1, 2, 3, 5, 'www', 12, 322, 'er'] 8、列举 4个 Python核心数据类 型 的名称。 数字、 字 符串、列表、字典、元组、文件和集合 一 般被认为是核心对象(数据) 类型。   9、"不可变性"代表了什么,哪三种Python的核心类型被认为是具有不可变性的? 一个具有"不可变性"的对象是一个在其创建以后不能够被改变的对象。 Python中 的数字、 字符串和元组都属于这个分类。尽管无峰就地改变一个不可变的对象,但 是你总是可以通过运行一个表达式创建一个新的对象 。   10、"序列"是什么意思,哪 三种Python的核心类型被认为是这个分类中的? 一个"序列"是一个对位 置进行排序的对象的集合。 字符串、列表和元组是Python 中所有的序列。它们共同拥有 一般的序列操作,例如,索引、合并以及分片,但又各自有自己的类型特定的方也调用。   11、在Python中,list,tuple,dict,set有什么区别,主要应用在什么样的场景? 定义:  list:链表,有序的项目, 通过索引进行查找,使用方括号”[]”;  tuple:元组,元组将多样的对象集合到一起,不能修改,通过索引进行查找, 使用括号”()”;  dict:字典,字典是一组键(key)和值(value)的组合,通过键(key)进行查找,没有顺序, 使用大括号”{}”;  set:集合,无序,元素只出现一次, 自动去重,使用”set([])”  应用场景:  list, 简单的数据集合,可以使用索引;  tuple, 把一些数据当做一个整体去使用,不能修改;  dict,使用键值和值进行关联的数据;  set,数据只出现一次,只关心数据是否出现, 不关心其位置   12、请写出打印结果 x = [0,1] i = 0 i , x[i] = 1 , 2 print(x) 打印结果:[0,2]    13、请用自己的算法,按升序合并如下2个list,并除去重复元素 list1 = [2,3,8,4,9,5,6]  lsit2 = [5,6,10,17,11,2] l3 = list1+list2 s=set(l3) l4=list(s) print(l4)   14、有一个多层嵌套列表A=[1,2,[3,4,['434',[...]]]],请写一段代码遍历A中的每个元素并打印出来 A = [1,2,[3,4,['434',[...]]]] c = [] def test(li): for i in li: if isinstance(i,list): return test(i) else: print(i,end = '') c.append(i) test(A) print('\n',c) # 循环读取多层列表中的元素 raw = ['PCXXX', ['0078', 8831], ['0000', '7777']] def get_data(datas): for item in datas: if isinstance(item, (str, int)): print(item, type(item)) else: get_data(item) get_data(raw)