首页 \ 问答 \ 我如何在Python字典上执行集合操作?(How can I perform set operations on Python dictionaries?)

我如何在Python字典上执行集合操作?(How can I perform set operations on Python dictionaries?)

尽管能够在字典的键之间进行设置操作是非常有用的,但是我经常希望我可以在字典本身上执行设置操作。

我发现了一些用于解释两个词典的差异的食谱,但我发现这些词语非常冗长,并且觉得必须有更多的pythonic答案。


While it is incredibly useful to be able to do set operations between the keys of a dictionary, I often wish that I could perform the set operations on the dictionaries themselves.

I found some recipes for taking the difference of two dictionaries but I found those to be quite verbose and felt there must be more pythonic answers.


原文:https://stackoverflow.com/questions/17694261
更新时间:2023-08-19 16:08

最满意答案

我不认为你可以直接在Visual Studio中这样做,但是,如果你在脚本或makefile中手动调用编译器 ,它应该非常简单。

例如, csc /t:library /out:MyCodeLibrary.dll simpleType.cssimpleType.cs编译为MyCodeLibrary.dll

您可以将其作为后期构建步骤运行,以生成所需的程序集。 但是,请注意,使用该项目的任何人都了解正在发生的事情......大多数开发人员都希望单个项目能够生成单个dll。


I don't think you can do this directly in Visual Studio, but, if you manually invoke the compiler in a script or makefile, it should be pretty straightforward.

For example, csc /t:library /out:MyCodeLibrary.dll simpleType.cs compiles simpleType.cs to MyCodeLibrary.dll.

You could run this as a post build step, to generate the assemblies you want. However, just be careful that whoever is using the project understands what is going on... most developers would expect a single project to produce a single dll.

相关问答

更多
  • 如果你不知道你的所有DLL是什么,你可能需要调用Win32函数“LoadLibrary”“GetProcAddress”和“FreeLibrary”。 据我所知,c#没有办法自动执行某种动态PInvoke。 有关详细信息,请参阅此博客文章 或者,您可以使用PInvoke为每个DLL创建一个C#包装器,然后使用托管代理来调用这些函数。 然后,通过更改委托,您可以在运行时调用不同的函数(可能在不同的DLL中)。 这取决于您是否有编译时要使用的DLL的完整列表。 它比第一个选项更强大。 让运行时为您处理所有编组操 ...
  • 目前没有正式的流程将您的源打印脚本文件打包为预建库,正如您所描述的那样。 目前有几种不同的解决方案,它们与注释中链接的解决方案非常类似,它允许您将所有引用放入中央打字稿文件中,然后仅从您的各个脚本中引用它们,或者您提出的方法可以在您执行相同的排序的方法,而不是手动编写它,你会得到你的构建脚本来为你生成引用,并让编译过程注入引用而不是在每个文件中明确引用它们。 随着Typescript越来越成熟,可能会有更正式的方法来做到这一点,但现在只要考虑到使用Typescript开发工具和方法,就可以采用最好的解决方案 ...
  • 命名空间和程序集(DLL)都提供了对项目进行分区的方法,但它们以不同的方式执行:命名空间提供逻辑分区,而程序集提供物理分区。 通常,这些分区的边界完全匹配,但不一定如此:您可以让同一名称空间中的类出现在多个程序集中; 您还可以将多个名称空间中的类放入同一个程序集中。 创建我遵循的新程序集的经验法则很简单:如果存在一组类可以独立于另一组类使用的情况,则这两个组应该转到单独的程序集。 这使您可以更灵活地将程序集混合为其他项目的依赖项。 由于依赖项的依赖项是懒惰加载的,因此使用较小的DLL可以更好地管理应用程序的 ...
  • 我不认为你可以直接在Visual Studio中这样做,但是,如果你在脚本或makefile中手动调用编译器 ,它应该非常简单。 例如, csc /t:library /out:MyCodeLibrary.dll simpleType.cs将simpleType.cs编译为MyCodeLibrary.dll 。 您可以将其作为后期构建步骤运行,以生成所需的程序集。 但是,请注意,使用该项目的任何人都了解正在发生的事情......大多数开发人员都希望单个项目能够生成单个dll。 I don't think y ...
  • 我喜欢Hans Passants的评论。 他的回答减少了复制数据的数量,并可以无缝地使用AnyCPU。 我的解决方案是由WPF项目使用的。 支持旧项目文件的项目类型,作为.NET Core或.NET Standard项目,它们不被nuget支持。 但是在.NET标准中没有c ++ cli。 我们只有x64程序集,我的客户只是内部的,所以不需要关心win32。 新的nuget语法可以很好地控制这些dll,但实际上我没有完成我的学习曲线和nuget。 所以这是我使用严格的包装DLL。 人们可以调试到我的DLL, ...
  • 使用Silverlight 4,您可以调用本地计算机上安装的COM对象。 但是要做到这一点,用户必须选择允许Silverlight应用完全访问他们的机器。 另外,COM对象需要已经安装在机器上。 因此,在使用Silverlight应用程序中依赖于它们的任何功能之前,用户首先必须单独下载并安装DLL。 With Silverlight 4, you can call out to COM objects installed on the local machine. However to do this th ...
  • 只需通过引用将包含类库的文件添加到项目中,而不是添加为副本。 Just add the files containing your class library to your project by reference rather than adding as a copy.
  • 实际上,您可以将程序集复制到GAC,但这并不总是理想的解决方案。 您必须记住,复制到GAC的每个程序集都必须是强名称 。 如果您的项目使用一些NuGet包,那么将所有这些包安装到GAC中将是一个问题。 我相信这也不是使用NuGet的目的。 另一种选择是在配置中使用标记从默认bin文件夹的不同目录加载DLL: ...
  • 我最后通过按照上面编辑中的建议来解决这个问题。 我使用HeatFile收集了单个文件,并使用xslt转换从HeatDirectory收获中排除了该文件。 我在项目文件中有以下内容:
  • 您可以通过将C ++ DLL作为项目中的文件包含来解决此问题。 (项目 - >添加现有项目) 然后右键单击DLL - >属性并将Build Action设置为Content ,并选择Copy to Output Directory为Copy Always或Copy if newer 。 You can solve this by including the C++ DLLs as files within the project. (Project->Add Existing Item) Then you ...

相关文章

更多

最新问答

更多
  • h2元素推动其他h2和div。(h2 element pushing other h2 and div down. two divs, two headers, and they're wrapped within a parent div)
  • 创建一个功能(Create a function)
  • 我投了份简历,是电脑编程方面的学徒,面试时说要培训三个月,前面
  • PDO语句不显示获取的结果(PDOstatement not displaying fetched results)
  • Qt冻结循环的原因?(Qt freezing cause of the loop?)
  • TableView重复youtube-api结果(TableView Repeating youtube-api result)
  • 如何使用自由职业者帐户登录我的php网站?(How can I login into my php website using freelancer account? [closed])
  • SQL Server 2014版本支持的最大数据库数(Maximum number of databases supported by SQL Server 2014 editions)
  • 我如何获得DynamicJasper 3.1.2(或更高版本)的Maven仓库?(How do I get the maven repository for DynamicJasper 3.1.2 (or higher)?)
  • 以编程方式创建UITableView(Creating a UITableView Programmatically)
  • 如何打破按钮上的生命周期循环(How to break do-while loop on button)
  • C#使用EF访问MVC上的部分类的自定义属性(C# access custom attributes of a partial class on MVC with EF)
  • 如何获得facebook app的publish_stream权限?(How to get publish_stream permissions for facebook app?)
  • 如何防止调用冗余函数的postgres视图(how to prevent postgres views calling redundant functions)
  • Sql Server在欧洲获取当前日期时间(Sql Server get current date time in Europe)
  • 设置kotlin扩展名(Setting a kotlin extension)
  • 如何并排放置两个元件?(How to position two elements side by side?)
  • 如何在vim中启用python3?(How to enable python3 in vim?)
  • 在MySQL和/或多列中使用多个表用于Rails应用程序(Using multiple tables in MySQL and/or multiple columns for a Rails application)
  • 如何隐藏谷歌地图上的登录按钮?(How to hide the Sign in button from Google maps?)
  • Mysql左连接旋转90°表(Mysql Left join rotate 90° table)
  • dedecms如何安装?
  • 在哪儿学计算机最好?
  • 学php哪个的书 最好,本人菜鸟
  • 触摸时不要突出显示表格视图行(Do not highlight table view row when touched)
  • 如何覆盖错误堆栈getter(How to override Error stack getter)
  • 带有ImageMagick和许多图像的GIF动画(GIF animation with ImageMagick and many images)
  • USSD INTERFACE - > java web应用程序通信(USSD INTERFACE -> java web app communication)
  • 电脑高中毕业学习去哪里培训
  • 正则表达式验证SMTP响应(Regex to validate SMTP Responses)