【发布时间】:2013-07-25 14:06:39
【问题描述】:
我找到了一种方法来做我想做的事,但我想知道是否有一种方法可以将其简化为一行。
与数字列表相比,我有一个字符串列表列表(对此有一个答案:[列表总和;返回总和列表)
示例列表:
list = [['T=-40F A=0K', 'T=-15F A=0K', 'T=59F A=0K', 'T=98F A=0K', 'T=120F A=0K'],
['T=-40F A=10K','T=-15F A=10K','T=59F A=10K','T=98F A=10K','T=120F A=10K']]
示例输出:
['T=-40F A=0K', 'T=-15F A=0K', 'T=59F A=0K', 'T=98F A=0K', 'T=120F A=0K', 'T=-40F A=10K', 'T=-15F A=10K', 'T=59F A=10K', 'T=98F A=10K', 'T=120F A=10K']
我可以用这个方法加入这些:
new = []
for i in [['T=%.0fF A=%.0fK'%(t,a)for t in TEMP] for a in ALT]:
new = new + i
有人收到了吗?
至于应用程序我在 matplotlib 图中添加图例
这真的很简单,而且 sum(list) 的一个很棒的功能
【问题讨论】:
-
你的输入和你的输出是如何对应的?你想用
new = []和new = new + 1做什么? -
@Inbar Rose:我不确定它是否重复,因为所有这些答案都是多行的。
-
@hivert :我正在寻找更像 Rohit Jain 提供的东西......没有必要导入任何东西
-
@CodeMode 导入模块不是你应该避免的——模块的存在是有原因的。它们为您提供了更好、更快的实现。
-
@CodeMode:Rohit Jain 的代码与stackoverflow.com/questions/406121/… 中的
comprehension_flatten相同。