Python基础面试题总结

Python常见基础面试题

Python基础

Python的数据类型: 字符串,集合,数值,列表,字典,元组。
lambda 函数:filter,map,reduce

  • filter: 相当于过滤器,遍历序列中的每一个元素,返回值为true的元素。
a = [1, 2, 3, 4, 5]
b = filter(lambda x: x>2, a)
print (b)
>>> [3, 4, 5] 
  • map: 对一个序列的每个项依次执行函数
a = map(lambda x: x*2, [1, 2, 3, 4, 5])
print (list(a))
>>> [2, 4, 6, 8, 10]
  • reduce: 对一个序列的每个项依次执行函数
a = reduce(lambda x, y: x+y, range(1, 5))
print (a)
>>> 10

这里的range产生了0,1,2,3,4五个数,累计求和,10。

  • copy() 和 deepcopy()的区别
import copy
a = [1, 2, 3, ['x', 'y']] #原始对象

b = a  #赋值,传对象的引用
c = copy.copy(a)  #对象拷贝,浅拷贝
d = copy.deepcopy(a)  #对象拷贝,深拷贝
a.append(4)  #修改对象a
a[3].append('z')  #修改对象a中的['a', 'b']数组对象

print ('a = ', a)
print ('b = ', b)
print ('c = ', c)
print ('d = ', d)
>>> a =  [1, 2, 3, ['x', 'y', 'z'], 4]
b =  [1, 2, 3, ['x', 'y', 'z'], 4]
c =  [1, 2, 3, ['x', 'y', 'z']]
d =  [1, 2, 3, ['x', 'y']]
  • Numpy:
# 初始化
import numpy as np
a = np.zeros(2,2,2)
b = np.ones(3, 3, 3), dtype = int)
c = np.random.rand(10)
d = np.random.randint(5,10,(10,10))
# 提取数据
e = d[4:6, 3:5]
# 合并数据
f = np.random.randint(5,15,size=(5,3))
g = np.random.randint(5,15,size=(5,3))
h = np.hstack([f,g])
i = np.vstack([f, g])
j = np.concatenate([f, g], axis=1)
k = np.random.randint(5,15,size=(5,3,2))
l = np.random.randint(5,15,size=(5,3,2))
m = np.concatenate([k, l], axis=2)
# 分割数据
p, q = np.hsplit(d,[5])
# 数据维度
d.shape
d.ndim
d.size
d.reshape(2, 50)
# 统计操作
np.sum(d)
np.sum(d, axis=1)
d.T
d.mean(axis=1)
d.std(axis=1)

- pandas

import numpy as np
import pandas as pd
# 读写数据
df1 = pd.read_csv("file.csv")
df2 = pd.read_excel("file.xls")
df1.to_csv("file_copy.csv", sep=",", index=False)
# 数据处理
print (df1.info())
print (df1.describe())
print (df1.columns)
print (df1.head(n))
print (df1.loc['feature_name1'])
df3 = df1.dropna(axis=0, how='any')
df4 = df1.replace(to_replace=None, value=None)
df5 = df1.drop('feature_name2', axis=1)
m = df1.as_matrix()
df6 = df1["feature_name3"].apply(lambda feature_name3: 2 * feature_name3)
df7 = df1.rename(columns = {df1.columns[2]:'feature_name0'}, inplace=True)
df8 = df1[["feature_name1", "feature_name2"]]
df9 = df1.sort_values(ascending = False)
# 数据统计
df1.sum(axis=0/1)
df1.min(axis=0/1)
df1.max(axis=0/1)
df1.mean(axis=0/1)
df1.median(axis=0/1)
df1.corr()
发布了30 篇原创文章 · 获赞 16 · 访问量 1156

猜你喜欢

转载自blog.csdn.net/qq_34523665/article/details/104799093