Linux运维工程师面试题第四套

Python

1、假设 AAA=[1,1,1,3,5,2,6,1,7,3,45],请问使用python如何在将list里重复的数字过滤掉?

>>>list(set(AAA))


2、简述一下list和tripe的不同

list是动态的,设定完了可以删减元素,而tripe是静态的,不能删减元素,而且tripe会自动去重。


3、简述一下search()和match()的区别

match()函数只检测RE是不是在string的开始位置匹配,search()会扫描整个string查找匹配, 也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none


4、如何在生成一个随机数?

>>>import random

>>>random.random()

【评析】这样会生成一个在0~1之间的浮点数。如果要生成一个1~10的整数,那么就是print(random,randint(1,10))


5、假设 AAA=["梅西","内马尔","苏亚雷斯","皮克","布斯克茨","伊涅斯塔"],BBB=["皮克","德赫亚","拉莫斯","伊涅斯塔","法布雷加斯","布斯克茨"],如何求出两个list之间的交集和差集?

交集:CCC=[val for val in AAA if val in BBB]

差集:DDD=[val for val in AAA if val not in BBB]

【评析】DDD这个差集是AAA这个list里有但是BBB里没有的,如果要显示出BBB有而AAA没有的元素,那么就调换一下 DDD=[val for val in BBB if val not in AAA]


6、反转由单词和不定个数空格组成的字符串,要求单词中的字母顺序不变。如:"I love    this      game!"反转成“game!      this    love I”。

>>> import re

>>> AAA = "I love    this      game!"

>>> BBB= ''.join(re.split(r'(\s+)',AAA)[::-1])

>>> print(BBB)

【评析】这道题虽然寥寥几个字,但是真心有难度。




你可能感兴趣的:(linux,python,面试,运维工程师)