今天的面试题以基础为主,去面试Python工程师,这几个基础问题不能答错
列表和元组是Python中最常用的两种数据结构,字典是第三种。
相同点:
使用方括号[]
创建列表,而使用括号()
创建元组。
列表是可变的
,而元组是不可变的
,这标志着两者之间的关键差异。
元组无法复制。 因为元组是不可变的,所以运行tuple(tuple_name)
将返回自己
Python将低开销的较大的块分配给元组,因为它们是不可变的。
列表则分配小内存块
。
与列表相比,元组的内存更小。 ‘
当你拥有大量元素时,元组比列表快。
列表的长度是可变的。
Python中的序列索引
可以是正也可以是负
如果是正索引,0是序列中的第一个索引,1是第二个索引。
如果是负索引,-1是最后一个索引,-2是倒数第二个索引。
lst=[11,22,33,44,55]
全取列表
>>> lst[:]
[11, 22, 33, 44, 55]
取不到最后一个元素
>>> lst[:-1] # 注意这里不能输出55,因为切片操作都是左闭右开的
[11, 22, 33, 44]
列表倒序
>>> lst[::-1]
[55, 44, 33, 22, 11]
取最后一个
>>> lst[-1]
55
取第一个
>>> lst[0]
11
用 random 包中的 shuffle() 函数来实现
import random
random.shuffle(你的列表)
# 举个例子:
L1 = [1, 3, 5, 7]
random.shuffle(L1)
join() 函数可以将指定的字符添加到字符串中
‘1,2,3,4,5’
a=','.join('123456')
print(a)
print(type(a))
#1,2,3,4,5,6
#<class 'str'>
split() 函数可以用指定的字符分割字符串
[‘1’, ‘2’, ‘3’, ‘4’, ‘5’]
a='1,2,3,4,5,6'.split(',')
print(a)
print(type(a))
#['1', '2', '3', '4', '5', '6']
#<class 'list'>
在编写代码时只写框架思路,具体实现还未编写就可以用 pass 进行占位,使程序不报错,不会进行任何操作。
比如:
while False:
pass
pass通常用来创建一个最简单的类:
class MyEmptyClass:
pass
pass在软件设计阶段也经常用来作为TODO,提醒实现相应的实现,比如:
def readtxt(*args):
pass # to do list
in 是判断是否包含
通过成员运算符‘in’ 和 ‘not in’,确认一个值
是否是另一个值
的成员。
print('me' in 'disappointment')#True
print('us' in 'disappointment')#False
is 是判断内存地址
tops: in 的 not 在前,is 的 not 在后
去面试Python工程师,这几个基础问题一定要能回答,Python面试题No4
原文:https://www.cnblogs.com/happymeng/p/10836414.html