我最近开始学习Python,但我很难将下面的代码转换为列表理解:
var testImagePath = "./phototest.tif";
if (args.Length > 0)
{
testImagePath = args[0];
}
try
{
using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
{
using (var img = Pix.LoadFromFile(testImagePath))
{
using (var page = engine.Process(img))
{
}
}
}
}
catch (Exception e)
{
Trace.TraceError(e.ToString());
Console.WriteLine("Unexpected Error: " + e.Message);
Console.WriteLine("Details: ");
Console.WriteLine(e.ToString());
}
我有可能做到吗?对此有任何帮助非常感谢。
答案 0 :(得分:4)
非常简单:使用嵌套列表推导来获取所有i
和一组以删除重复项。
list(set([item for __, value in defaultDict.items() for item in value]))
让我们分解一下:
[item for key,value in defaultDict.items() for item in value]
是nested list comprehension。set(...)
将删除所有重复项 - 相当于if i not in list: list.append(i)
逻辑list(set(...))
会将该设置转换回您的列表。