首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

53 道 Python 面试题,帮你成为大数据工程师

我们将编写一个装饰器,该装饰器会在调用另一个函数记录日志。 编写装饰器函数。这需要一个函数func作为参数。...reduce接受一个函数和一个序列,然后对该序列进行迭代。在每次迭代中,当前元素和前一个元素的输出都将传递给函数。最后,返回一个值。...浅表副本会创建一个对象,但会使用对原始对象的引用来填充它。因此,将对象添加到原始集合li3中不会传播到li4,但是修改li3中的一个对象将传播到li4。...append将值添加到列表,而extend将另一个列表中的值添加到列表。...enumerate()允许在序列上进行迭代跟踪索引。它比定义和递增代表索引的整数更具Python感。

9.9K40

必读!53个Python经典面试题详解

我们将编写一个装饰器,该装饰器会在调用另一个函数记录日志。 编写装饰器函数logging。它接受一个函数func作为参数。...Map函数返回一个列表,该列表由对序列中的每个元素应用一个函数返回的值组成。...浅拷贝创建一个对象,但是用对原始对象的引用填充它。因此,向原始列表li3中添加对象不会传播到li4中,但是修改li3中的一个对象将传播到li4中。...Append将一个值添加到一个列表中,而extend将另一个列表的值添加到一个列表中。...在迭代序列,为什么要使用enumerate()? enumerate()允许在序列上迭代跟踪索引。它比定义和递增一个表示索引的整数更具Python感。

6.7K30
您找到你想要的搜索结果了吗?
是的
没有找到

使用Python按另一个列表对子列表进行分组

在分析大型数据集和数据分类,按另一个列表对子列表进行分组非常有用。它还用于文本分析和自然语言处理。在本文中,我们将探讨在 Python 中按另一个列表对子列表进行分组的不同方法,并了解它们的实现。...方法1:使用字典 字典可以以非常简单的方式用于按 Python 中的另一个列表对子列表进行分组。让我们借助示例了解字典在另一个列表上按另一个列表分组子列表的用法。...如果是这样,我们将当前子列表附加到该键的现有子列表列表中。否则,我们将在组字典中创建一个的键值对,并将键和当前子列表作为值。...对于每个键,我们遍历子列表并仅过滤掉具有匹配键的子列表(假设它是第一个元素)。然后将这些筛选的子列表收集到一个列表中,该列表表示该键的分组子列表。...Python 中按另一个列表对子列表进行分组。

24720

Python 中如何向列表或数组添加元素

何在 Python 中创建列表要创建一个列表,首先给这个列表一个名字。然后添加赋值运算符(=)和一对有开头和结尾的方括号。在方括号内添加你希望列表包含的值。...append() 是列表方法,用于在 list_name 的末尾添加一个项目。item 是你要添加的指定的单独项目。使用 .append() ,原始列表被修改,不创建列表。...所以,.append() 在一个列表中添加了一个列表列表是对象,当你使用 .append() 将另一个列表添加到一个列表的项目将作为一个单独的对象(项目)被添加。...extend() 是将一个列表的所有内容添加到另一个列表的方法。iterable 可以是任何可迭代的东西,比如另一个列表,例如 another_list_name。...当它用于将一个列表添加到另一个列表,它在一个列表中创建一个列表

23620

Azure 机器学习 - 使用无代码 AutoML 训练分类模型

由于这是你的第一个自动化 ML 试验,因此会看到空列表和文档链接。 选择“+新建自动化 ML 作业”。...在“确认详细信息”窗体上,确认信息与先前在“基本信息”、“数据存储和文件选择”和“设置和预览”窗体上填充的内容匹配。 选择“创建”以完成数据集的创建。 当数据集出现在列表,则选择它。...根据数据和试验类型提供了建议的大小列表。 | Standard_DS12_V2 | 选择“下一步”以填充“配置设置窗体”。...创建后,从下拉列表中选择的计算目标。 输入以下试验名称:my-1st-automl-experiment 选择“y”作为用于执行预测的目标列。 此列指示客户是否认购了定期存款产品。...部署是模型的集成,因此它可以对数据进行预测并识别潜在的机会领域。 对于本试验,部署到 Web 服务意味着金融机构现已获得一个迭代和可缩放的 Web 解决方案,用于识别潜在的定期存款客户。

15720

何在 Python 中迭代地遍历两个列表

使用 zip() 函数同时遍历列表zip() 函数是 Python 中一个非常有用的内建函数,它可以将多个可迭代对象打包成一个元组的迭代器。...当你有两个或更多的列表需要同时遍历时,zip() 函数能够让你轻松地实现这一目的。每次迭代它会从每个可迭代对象中取出一个元素,将它们组合成一个元组。...result = [f`{number}-{letter}` for number, letter in zip(list1, list2)]print(result)这会生成一个列表,其中包含了...处理不等长列表的策略当遇到不等长的列表需要遍历时,除了使用 itertools.zip_longest() 之外,还可以采取手动处理的策略,比如先遍历较短的列表,在需要另一个列表进行切片或追加操作,...number, letter in pair_generator(list1, list2): print(f`{number}: {letter}`)生成器 pair_generator 在每次迭代返回一个元组

23800

一文 get 入门 canvas 的最佳路径

咱们一起来看看这个问题,这个问题问了两个小问题: 1.如何在 canvas 上绘制多边形? 2.鼠标怎么选中绘制的某一个图形? 那么咱们就来分为两个问题解答。...而每次调用这个方法之后,列表都会被重置,然后就可以绘制的图形。...,默认就制动结束路径了 在这个过程中,有一个比较有用的函数,moveTo,这个函数实际上画不出来任何东西,它是属于上面描述的路径列表的一部分。...这个时候你可以想象一下在纸上画东西,笔尖从一个点到另一个点的移动过程。这个过程的模式叫做笔式绘图仪模式。所以 canvas 2d 绘图的模式也就是这种模式。 现在绘制多边形就没有什么问题了。...第一反应就是 isPointInPath,或者是迭代所有图形,拿鼠标的点去与图形的点碰撞检测,这个方法可以用,但是适用场景比较少,还有就是性能开销比较大,如果图形太多,每一个都需要经过计算,那么这个交互会变得非常的不友好

88261

深入 Python 流程控制

通常的循环可能会依据一个等差数值步进过程( Pascal),或由用户来定义迭代步骤和中止条件( C ),Python 的 for 语句依据任意序列(链表或字符串)中的子项,按它们在序列中的顺序来进行迭代...print(i) ... 0 1 2 3 4 range(10) 生成了一个包含 10 个值的链表,它用链表的索引值填充了这个长度为 10 的列表,所生成的链表中不包括范围中的结束值。...当你迭代,它是一个能够像期望的序列返回连续项的对象;但为了节省空间,它并不真正构造列表。...循环可以有一个 else 子句;它在循环迭代完整个列表(对于 for )或执行条件为 false (对于 while )执行,但循环被 break 中止的情况下不会执行。...[1] 一个函数被另一个函数调用时,一个的局部符号表在调用过程中被创建。 一个函数定义会在当前符号表内引入函数名。

58820

Azure 机器学习 - 无代码自动机器学习的预测需求

在“确认详细信息”窗体上,确认信息与先前在“基本信息”和“设置和预览”窗体上填充的内容匹配。 选择“创建”以完成数据集的创建。 当数据集出现在列表,则选择它。 选择“下一页”。...根据数据和试验类型提供了建议的大小列表。 | Standard_DS12_V2 | 选择“下一步”以填充“配置设置窗体”。...创建后,从下拉列表中选择的计算目标。 输入试验名称:automl-bikeshare 选择“cnt”作为要预测的目标列。 此列指示共享单车的租赁总次数。 选择“计算群集”作为计算类型。...重要 准备试验作业,准备需要 10-15 分钟。 运行以后,每个迭代还需要 2-3 分钟。 在生产环境中,此过程需要一段时间,因此不妨干点其他的事。...部署是模型的集成,因此它可以对数据进行预测并识别潜在的机会领域。 在此试验中部署到 Web 服务后,单车共享公司即会获得一个迭代且可缩放的 Web 解决方案,可以预测共享单车的租赁需求。

17320

excel常用操作大全

2.如何在文件下拉窗口底部设置最近运行的文件名数量? 打开“工具”,选择“选项”,然后选择“常规”,并在“最近使用的文件列表”下的文件编号输入框中更改文件编号。...如果菜单中未显示最近使用的文件名,请取消“最近使用的文件列表”前的复选框。 3.在EXCEL中输入“1-1”和“1-2”等格式后,将成为日期格式,1月1日和1月2日。我该怎么办?...上下拖动,鼠标会在格,单元的边界处变成一个水平的“工”字符号,左右拖动,鼠标会变成一个垂直的“工”字符号。在释放鼠标按钮完成操作后,一个或多个选定的格单位将被拖放到一个的位置。...请注意,点击“选项”按钮后,格式列表框下有六个“应用格式类型”选项,包括“数字”、“边框线”和“字体”。如果没有选择一个项目,则在应用表格样式不会使用它。 18、如何快速复制单元格格式?...如果您可以定义一些常规数据(办公室人员列表),您经常需要使用这些数据作为将来自动填充的序列,这难道不是一劳永逸的吗?

19.1K10

一个有趣的例子带你入门canvas

今天,我们前端群问了一个这样的问题,然后就开始了激烈的讨论。 那么下面咱们一起来看看这个问题,这个问题问了两个小问题: 1.如何在 canvas 上绘制多边形2.鼠标怎么选中绘制的某一个图形?...而每次调用这个方法之后,列表都会被重置,然后就可以绘制的图形。...,默认就制动结束路径了 在这个过程中,有一个比较有用的函数,moveTo,这个函数实际上画不出来任何东西,它是属于上面描述的路径列表的一部分。...这个时候你可以想象一下在纸上画东西,笔尖从一个点到另一个点的移动过程。这个过程的模式叫做笔式绘图仪模式。所以 canvas 2d 绘图的模式也就是这种模式。 现在绘制多边形就没有什么问题了。...第一反应就是 isPointInPath,或者是迭代所有图形,拿鼠标的点去与图形的点碰撞检测,这个方法可以用,但是适用场景比较少,还有就是性能开销比较大,如果图形太多,每一个都需要经过计算,那么这个交互会变得非常的不友好

83410

7分钟内快速完整地浏览Python3中的列表

何在python中创建一个List ---- 我们可以用两种方式在python中创建一个list 通过声明一个带有空方括号的变量 i.e [] 通过使用list()。...您可以使用最常用的方法创建列表对象。现在我们将继续讨论如何在列表中添加新元素以及更多内容。 如何将数据添加到列表? ---- 首先,我想介绍一下Mutability的概念。...通过使用pop() 它是一个迭代器方法,用于一次删除单个(或)多个元素。它从背面删除元素。...各种列表方法及其用途: ---- 1. append() - 它会在列表末尾添加一个元素。 2. clear() - 用于从列表中删除所有项目。 3. copy() - 用于返回列表另一个副本。...5. extend() - 它将列表的所有元素添加到另一个列表中。 6. index() - 用于返回第一个匹配项的索引。 7. insert() - 用于在定义的索引处插入项目。

1.7K20

对比Excel,更强大的Python pandas筛选

基本引用如下所示: df.loc[column == ‘条件’] 图1 结果是一个的数据框架,包含110家属于中国的公司。...此数据框架包括原始数据集中的所有列,我们可以将其作为一个独立的表(数据框架)使用,而不需要额外的步骤(例如,如果我们在Excel中进行筛选后,需要将其复制到另一个工作表或删除其他行以使其成为“一个表”)...我们传递给loc[]的条件:df['总部所在国家'] == '中国',实际上是一个布尔索引,它是一个True值或False值列表。...看看下面的Excel屏幕截图,添加了一个列,名为“是否中国”,还使用了一个简单的IF公式来评估一行是否“总部所在国家”为中国,该公式返回1或0。实际上,我正在检查每一行的值。...上面的代码行创建了一个列表,该列表的长度与数据框架本身相同,并用True或False填充。这基本上就是我们在Excel中所做的。

3.8K20

Pandas全景透视:解锁数据科学的黄金钥匙

具体来说,map()函数可以接受一个字典或一个函数作为参数,然后根据这个字典或函数对 Series 中的每个元素进行映射或转换,生成一个的 Series,并返回该 Series。...)运行结果 A B0 1 a1 2 b2 test test3 4 d③.extend() 函数,将一个迭代对象的所有元素添加到列表的末尾...举个例子# 创建一个列表list1 = [1, 2, 3]# 创建另一个列表list2 = [4, 5, 6]# 使用 extend() 方法将 list2 扩展到 list1list1.extend(...list2)print(list1) # 输出: [1, 2, 3, 4, 5, 6]# 创建一个列表list1 = [1, 2, 3]# 创建一个字典dict1 = {'a': 10, 'b': 20...,默认为Falseright_index:为True将右表的索引作为连接键,默认为Falsesuffixes:如果左右数据出现重复列,数据表头会用此后缀进行区分,默认为_x和_y举个例子import

7310

搞懂这10 行代码,究竟有多难?

args, fillvalue=None): 参数args前面带星表示可变参数,支持传入多个关键字参数a, b, c, … fillvalue=None, 表示fillvalue是位置参数,此处表示短列表的默认填充值...try… except是异常捕获的标准模板,next(it)第一次执行返回it的第一个元素,a=[1,2,3],所以value值为1. (10)计数 num_active表示当前存活的列表个数,一旦一个列表迭代到终点...,num_active立即减1 num_active -= 1 (11) repeat iterators[i] = repeat(fillvalue) repeat是itertools模块内另一个函数...此处,repeat返回一个无限次重复fillvalue值的迭代器,并赋值给此时触发StopIteration异常的列表。此处就是iter(a),令其指向repeat创建的迭代器。...#fillvalue=None, 表示fillvalue是位置参数, #此处表示短列表的默认填充值 def zip_longest(*args, fillvalue=None): #`args`

53620

如何使用 Python 检查两个列表是否反向相等?

在 Python 中使用列表,在某些情况下,您可能需要比较两个列表是否反向相等。这意味着一个列表中的元素与另一个列表中的元素相同,但顺序相反。...方法一:反转比较列表 第一种方法涉及反转其中一个列表,然后将其与另一个列表进行比较。如果反向列表等于原始列表,我们可以说两个列表是反向相等的。...语法 reversed_list1 = list1[::-1] 在这里,使用切片语法 list1[::-1] 创建 list1 的反向版本,该语法返回一个包含相反顺序元素的列表。...我们将一个列表开头的元素与另一个列表末尾的元素进行比较。如果所有相应的元素相等,则两个列表反向相等。...如果一个列表的反转字符串等于另一个列表的字符串表示形式,则两个列表反向相等。

15120

算法基础:五大排序算法Python实战教程

不仅要通过编程面试,还要对程序本身有一个全面的理解。不同的排序算法很好地展示了算法设计上如何强烈的影响程序的复杂度、运行速度和效率。一起看一下前6种排序算法,看看如何在Python中实现它们。...在每个循环迭代中,插入排序从数组中删除一个元素。然后,它在另一个排序数组中找到该元素所属的位置,并将其插入其中。它重复这个过程,直到没有输入元素。 ? ?...(2)重复合并,即一次将两个子列表合并在一起,生成的排序子列表,直到所有元素完全合并到一个排序数组中。 ? ? 快速排序 快速排序也是一种分而治之的算法,归并排序。...它有三个主要步骤: (1)我们首先选择一个元素,称为数组的基准元素(pivot)。 (2)将所有小于基准元素的元素移动到基准元素的左侧;将所有大于基准元素的元素移动到基准元素的右侧。这称为分区操作。...(3)递归地将上述两个步骤分别应用于比上一个基准元素值更小和更大的元素的每个子数组。 ? ?

1.4K40

使用pandas处理数据获取Oracle系统状态趋势并格式化为highcharts需要的格式

接下来我们将分组value的第一个值减去最后一个值得到该天的DBTime数值 day_result=(day_df.first() - day_df.last())/unit 4....首先遍历redis中对应的Key的列表的值,将符合时间段的提取出来,之后将取出来的值处理后格式化成pandas的DataFrame格式 注意:如果有的小时没有监控数据则不会有该日期,12/14 11:...之后遍历分组的名称(name)和分组值(group) 每次迭代的值代表一天的24小, ? 4....之后对每一天的24小进行索引重新设置及填充,这里填充的是平均值 group.set_index('time',inplace=True) s=group.reindex(new_index,fill_value...接下来我们需要将这24小计算差值(25个值) 采用的方法很简单,就是将25个值的列表错位拆分为2个列表,之后相减 j=flist[1:] k=flist[0:-1] for i in range(0,

3K30

Python基础之序列构成的数组

print(isinstance(100, Iterable))#False不可迭代 3、生成器表达式:按需返回一个结果对象,而非先构建一个完整的列表。...print(i) 三、元组功能 元组有两重功能,一是当作记录来用的数据模型,二是充当不可变的列表, 1、用作记录: 元组用作记录,可以理解为数据+位置。...当只有最后一个位置信息,可以快速看出切片中有几个元素。eg:range(3)有3个元素 已知切片区间的起止位置后,通过stop-start能快速计算出切片和区间的长度。...返回none的原因是提示你此方法不会新建列表,让调用者知道传入的参数发生了改动,这其实是Python的一个惯例。 sorted与之相反。它接受任何形式的可迭代对象作为参数,返回一个列表。...bisect.insort(seq,item):返回一个在seq中插入item保持序列升序的序列。

1.1K10

Python | 一文看懂Python列表、元组和字符串操作

列表内元素用中括号([])包裹; 列表内不同元素之间采用逗号(,)分隔; 列表内可以包含任何数据类型,也可以包括另一个列表列表可以通过序号来访问其中的成员; 可以对列表进行插入、删除、排序,修改列表中某元素等操作...这意味着首先构造一个的集合对象,然后递归地用在原始对象中找到的子对象的副本填充它。以这种方式复制一个对象,遍历整个对象树,以创建原始对象及其所有子对象的完全独立的克隆。 A....() 方法对可迭代的序列排序生成的序列。...key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。...^, 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充

4.1K51
领券