如何使用尽可能少的 for 循环来获得结果

元哲信

我有两个输入:proof_pathsaugment_number如下。

输入

augment_number = 2    
proof_paths = [[('#1', 'nationality'), ('#2', 'placeOfBirth'), ('#3', 'locatedIn')],
               [('#1', 'nationality'), ('#2', 'hasFather'), ('#3', 'nationality')]]

我将从proof_paths 中取出#1、#2 和#3 之外的单词,创建一个列表,并在整个proof_paths 中复制与增广数相同的数量。我想要的输出如下。

输出

[[['nationality', 'placeOfBirth', 'locatedIn'],
  ['nationality', 'placeOfBirth', 'locatedIn']],
  
 [['nationality', 'hasFather', 'nationality'],
  ['nationality', 'hasFather', 'nationality']]]

我想知道允许我通过尽可能少地使用 for 循环来获得我想要的输出的代码。

编辑

我尝试如下获得上述结果。我想知道是否有办法在没有 for 循环的情况下获得结果。

[[list(map(lambda x : x[1], path))]*augment_number for path in proof_paths]
简单

您可以尝试使用map()代替for-loop。

你有列表理解能力

 [ ... for path in proof_paths] 

你可以写成

 map(lambda path: .... , proof_paths)

它给

 list(map(lambda path:[list(map(lambda x : x[1], path))]*augment_number, proof_paths))

它在没有for-loops 的情况下工作(但它map是隐藏循环),但它对人类来说是不可读的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用尽可能少的查询(一个?)来构建层次结构

如何使用正则表达式使用尽可能少的组来匹配尽可能长的字符串

使用尽可能少的空间连续分布点

我可以使用 for 循环来获得相同的结果吗?

使用尽可能少的IO操作读取树中所有文件的文件样式

使用尽可能少的硬编码将XML文件解析为CSV

尽可能少地编写代码来更改复杂网站上的div位置

定义尽可能少的方法以获得自定义对象的基本功能(Julia)

如何在flexbox中具有自动宽度内容而不破坏布局?(占用尽可能多的空间,并尽可能少地占用空间)

如何创建尽可能少的变量?

使用尽可能少的代码将非静态方法包装到带有“ this”参数绑定的std :: function中

使用尽可能少的寄存器通常是一个好主意吗?

如何在函数中提到的for循环中生成尽可能多的for循环?

如何在Excel VBA中优化(或尽可能避免)循环

尽可能使用最大参数循环执行命令

在Flutter中换行,但要占用尽可能少的空间

使用PoSH来获得价值,奇怪的结果

jQuery添加尽可能多的跨度来填充div

使用facebook connect访问尽可能少的信息

是否应尽可能避免循环范围?

加速 python 3.5 循环以尽可能快地运行它

如何获得用户的经度和纬度?我还想将其转换为尽可能精确的地址

如何强制DIV中的元素占用尽可能多的水平空间?

我应该尝试使用尽可能多的队列吗?

在磁盘上写入时,我应该使用尽可能小的类型吗?

CSS自动填充在inline-grid中使用尽可能多的列

如何使用这种方法来获得结果?

如何同时使用 vlookup 和 countif 来获得所需的结果

我们如何在Python 3中模拟对对象属性的引用,以使其使用尽可能简单和透明?