面试小试题

(1) a = [1,2,3,4,5],a[::2]=?,a[-2:]=?

[1,4,5] #按照步长取值
[3,5] #从后面第二个取值
View Code

 

(2)一行代码实现对列表a中的偶数位置的元素进行加3后求和?

li = sum([a[i]+3 for i in range(len(a)) if i%2!=0])
View Code

 

(3)列表a的元素顺序打乱,在对a进行排序得到列表b,然后把a和b按照元素的顺序构造一个字典d

import random
a = [1,2,4,3,5]

random.shuffle(a) #打亂列表a
print(a)
b = sorted(a)  #排序列表
print(b)
dic = {}

for i in range(len(a)): #拼接字典
    dic[a[i]] = b[i]
print(dic)
View Code

(4) 字符串中的空行替换成一个空格,不允许用split,正则,strip

a = "a   b     ctrrtr  "
new_str = ''
base_str = ''
for i in a:
    if base_str == i and base_str == " ":
        continue
    else:
        new_str += i
    base_str = i
print(new_str)
View Code

 

posted @ 2021-04-02 11:40  伟仔技术博客  阅读(38)  评论(0编辑  收藏  举报