首页 > temp > 简明python教程 >
-
53道Python面试问答题,帮你成为大数据工程师!(2)
41.如何从字符串中删除所有空格?
最简单的方法是在空白处分割字符串,然后重新连接而没有空格。
s = 'A string with white space'
''.join(s.split())
#=> 'Astringwithwhitespace'
42.为什么要在序列上迭代时使用enumerate()?
enumerate()允许在序列上进行迭代时跟踪索引。 它比定义和递增代表索引的整数更具Python感。
li = ['a','b','c','d','e']
for idx,val in enumerate(li):
print(idx, val)
#=> 0 a
#=> 1 b
#=> 2 c
#=> 3 d
#=> 4 e
43.pass,continue和break之间有什么区别?
通过意味着什么都不做。 我们之所以通常使用它,是因为Python不允许在其中没有代码的情况下创建类,函数或if语句。
在下面的示例中,如果i> 3中没有代码,则会引发错误,因此我们使用pass。
a = [1,2,3,4,5]
for i in a:
if i > 3
: pass
print(i)
#=> 1
#=> 2
#=> 3
#=> 4
#=> 5
继续继续到下一个元素,并暂停当前元素的执行。 因此对于i <3的值,永远不会达到print(i)。
for i in a:
if i < 3:
continue
print(i)
#=> 3
#=> 4
#=> 5
break打破了循环,序列不再重复。 因此,不会打印3以后的元素。
for i in a:
if i == 3:
break
print(i)
#=> 1
#=> 2
44.将以下for循环转换为列表推导。
这个for循环。
a = [1,2,3,4,5]
a2 = []
for i in a:
a2.append(i + 1)
print(a2)
#=> [2, 3, 4, 5, 6]
成为。
a3 = [i+1 for i in a]
print(a3)
#=> [2, 3, 4, 5, 6]
列表理解通常被认为是更具Python性的,但仍易于阅读。
45.举例说明三元运算符。
三元运算符是单行if / else语句。
语法看起来像一个if条件else b。
x = 5
y = 10
'greater' if x > 6 else 'less'
#=> 'less'
'greater' if y > 6 else 'less'
#=> 'greater'
46.检查字符串是否仅包含数字。
您可以使用isnumeric()。
'123a'.isnumeric()
#=> False
'123'.isnumeric()
#=> True
47.检查字符串是否仅包含字母。
您可以使用isalpha()。
'123a'.isalpha()
#=> False
'a'.isalpha()
#=> True
48.检查字符串是否仅包含数字和字母。
您可以使用isalnum()。
'123abc...'.isalnum()
#=> False
'123abc'.isalnum()
#=> True
49.从字典返回键列表。
这可以通过将字典传递给python的list()构造函数list()来完成。
d = {'id':7, 'name':'Shiba', 'color':'brown', 'speed':'very slow'}
list(d)
#=> ['id', 'name', 'color', 'speed']
50.如何对字符串进行大写和小写?
您可以使用upper()和lower()字符串方法。
small_word = 'potatocake'
big_word = 'FISHCAKE'
small_word.upper()
#=> 'POTATOCAKE'
big_word.lower()
#=> 'fishcake'
51. remove,del和pop有什么区别?
remove()删除第一个匹配值。
li = ['a','b','c','d']
li.remove('b')
li
#=> ['a', 'c', 'd']
del按索引删除元素。
li = ['a','b','c','d']
del li[0]
li
#=> ['b', 'c', 'd']
pop()按索引删除一个元素并返回该元素。
li = ['a','b','c','d']
li.pop(2)
#=> 'c'
li
#=> ['a', 'b', 'd']
#### 52.举一个字典理解的例子。
在下面,我们将创建字典,以字母作为键,并以字母索引作为值。
creating a list of letters
import string
list(string.ascii_lowercase)
alphabet = list(string.ascii_lowercase)
list comprehensiond = {val:idx for idx,val in enumerate(alphabet)}
d
=> {'a': 0,
=> 'b': 1,
=> 'c': 2,
=> ...
=> 'x': 23,
=> 'y': 24,
=> 'z': 25}
#### 53.如何在Python中执行异常处理?
Python提供了3个单词来处理异常,请尝试使用" except"和" finally"。
语法如下所示。
try:
try to do this
except:
if try block fails then do this
finally:
always do this
在下面的简单示例中,try块失败,因为我们无法在字符串中添加整数。 else块设置val = 10,然后finally块打印完成。
try:
val = 1 + 'A'
except:
val = 10
finally:
print('complete')
print(val)
=> complete
=> 10
#### 结论
您永远不会知道面试中会遇到什么问题,最好的准备方法是拥有大量编写代码的经验。
就是说,此列表应涵盖您需要以python方式查询数据科学家或初级/中级python开发人员角色的所有内容。
我希望对您有帮助。
(本文翻译自Chris的文章《53 Python Interview Questions and Answers》,参考:https://towardsdatascience.com/53-python-interview-questions-and-answers-91fa311eec3f)
> 文源网络,仅供学习之用,侵删。
>
> 在学习Python的道路上肯定会遇见困难,别慌,我这里有一套学习资料,包含40+本电子书,800+个教学视频,涉及Python基础、爬虫、框架、数据分析、机器学习等,不怕你学不会!
> https://shimo.im/docs/JWCghr8prjCVCxxK/ 《Python学习资料》
>
> 关注公众号【Python圈子】,优质文章每日送达。
>
> ![file](https://img2020.cnblogs.com/other/1967716/202004/1967716-20200424143028932-834829331.jpg)