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
<class 'str'>
 
 
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)
posted @ 2021-12-21 17:44  晨起的太阳  阅读(272)  评论(0编辑  收藏  举报