程序设计

专业和发烧友程序员的问答

4
Matplotlib不同大小的子图
我需要在图中添加两个子图。一个子图的宽度大约是第二个子图的三倍(相同的高度)。我使用GridSpec和colspan参数完成了此操作,但是我想使用来完成此操作,figure因此可以保存为PDF。我可以使用figsize构造函数中的参数调整第一个图形,但是如何更改第二个图形的大小?


9
如何比较Python中的版本号?
我正在走一个包含鸡蛋的目录,将这些鸡蛋添加到sys.path。如果目录中有相同.egg的两个版本,我只想添加最新的一个。 我有一个正则表达式r"^(?P<eggName>\w+)-(?P<eggVersion>[\d\.]+)-.+\.egg$可以从文件名中提取名称和版本。问题是比较版本号,它是一个类似的字符串2.3.1。 由于我正在比较字符串,所以2在10之上排序,但这对于版本来说是不正确的。 >>> "2.3.1" > "10.1.1" True 我可以进行一些拆分,解析,转换为int等操作,最终得到解决方法。但这是Python,而不是Java。有没有比较版本字符串的优雅方法?

21
如何用Java打印出List的所有元素?
我正在尝试打印a的所有元素List,但是它打印的是指针Object而不是值。 这是我的打印代码... for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } 任何人都可以帮助我,为什么它没有体现出要素的价值。
236 java  list 

15
如何获取方法参数名称?
鉴于Python函数: def a_method(arg1, arg2): pass 如何提取参数的数量和名称。即,鉴于我有提及func,因此我希望func.[something]返回("arg1", "arg2")。 这样做的使用场景是我有一个装饰器,并且我希望以与实际函数作为键一样的顺序使用方法参数。即,"a,b"我致电时装饰工的外观如何a_method("a", "b")?

11
显示提交之间的差异
我在Ubuntu 10.04(Lucid Lynx)上使用Git 。 我对我的主人做了一些承诺。 但是,我想弄清楚这些提交之间的区别。它们都在我的主分支上。 例如: commit dj374 made changes commit y4746 made changes commit k73ud made changes 我想得到k73ud和dj374之间的区别。但是,当我执行以下操作时,看不到在中所做的更改k73ud。 git diff k73ud..dj374 > master.patch
236 git  git-diff 

8
您如何在数据库中表示继承?
我正在考虑如何在SQL Server数据库中表示复杂的结构。 考虑一个需要存储一系列对象的详细信息的应用程序,这些对象共享一些属性,但还有许多其他不常见的属性。例如,商业保险一揽子计划可能在同一份保单记录中包括责任险,汽车险,财产险和赔偿险。 在C#等中实现此功能很简单,因为您可以创建一个带有Sections集合的Policy,其中Section是根据各种封面类型的要求继承的。但是,关系数据库似乎不允许这样做。 我可以看到有两个主要选择: 创建一个Policy表,然后创建一个Sections表,其中包含所有可能的变体所需的所有字段,其中大多数都是null。 创建一个Policy表和许多Section表,每种表一个。 这两种选择似乎都不令人满意,尤其是因为有必要在所有节中编写查询时,这将涉及大量联接或大量空检查。 这种情况下的最佳做法是什么?

6
等效于dotnet core / csproj中的AssemblyInfo
由于dotnet核心移回了.csproj格式,因此自动生成了一个新的MyProject.AssemblyInfo.cs包含其中的内容。 [assembly: AssemblyCompany("MyProject")] [assembly: AssemblyVersion("1.0.0.0")] 请注意,这会在每个版本中自动重新生成。以前,该文件是在/ obj /目录中找到的,但现在似乎只存在于内存中,因为在磁盘上找不到该文件,并且单击错误消息不会打开任何文件。 这是错误消息: 由于它们是在那里定义的,所以我无法在古典音乐中自己定义它们AssemblyInfo.cs。 我在哪里/如何定义项目的公司和版本?

2
什么是“跨度”?何时使用?
最近,我得到了span<T>在代码中使用的建议,或者在网站上看到了使用spans的答案-据说是某种容器。但是-我在C ++ 17标准库中找不到类似的东西。 那么,这是什么神秘的东西?span<T>为什么(如果不标准)使用它是一个好主意?

10
如何在LIKE子句中转义方括号?
我正在尝试使用存储过程来过滤项目。该列是varchar(15)。我要过滤的项目名称中带有方括号。 例如: WC[R]S123456。 如果我这样做LIKE 'WC[R]S123456',将不会返回任何内容。 我发现了有关将ESCAPE关键字用于with的一些信息,LIKE但是我不明白如何使用它将方括号视为常规字符串。


4
如何将ArrayList传递给varargs方法参数?
基本上我有一个ArrayList的位置: ArrayList<WorldLocation> locations = new ArrayList<WorldLocation>(); 在此之下,我调用以下方法: .getMap(); getMap()方法中的参数为: getMap(WorldLocation... locations) 我遇到的问题是我不确定如何在整个locations方法列表中传递该方法。 我试过了 .getMap(locations.toArray()) 但getMap不接受,因为它不接受Objects []。 现在,如果我使用 .getMap(locations.get(0)); 它会完美地工作...但是我需要以某种方式传递所有位置...我当然可以继续添加locations.get(1), locations.get(2)等等,但是数组的大小会有所不同。我只是不习惯ArrayList 最简单的方法是什么?我觉得我现在不在考虑。

30
如何获得数组的第一个元素?
如何从这样的数组中获取第一个元素: var ary = ['first', 'second', 'third', 'fourth', 'fifth']; 我尝试了这个: alert($(ary).first()); 但是它会回来[object Object]。所以我需要从数组中获取第一个元素,它应该是element 'first'。

6
如何将Map键转换为数组?
可以说我有以下地图: let myMap = new Map().set('a', 1).set('b', 2); 我想根据以上内容获得['a','b']。我当前的解决方案似乎是如此漫长而可怕。 let myMap = new Map().set('a', 1).set('b', 2); let keys = []; for (let key of myMap) keys.push(key); console.log(keys); 必须有更好的方法,不是吗?

10
如何在C中正确使用extern关键字
我的问题是,何时应使用externC中的关键字引用函数。 我看不到何时应该在实践中使用它。在编写程序时,我使用的所有功能都可以通过包含的头文件使用。那么,为什么extern访问头文件中未公开的内容很有用? 我可能正在考虑extern工作方式不正确,如果是这样,请纠正我。 编辑:extern当它是在头文件中没有关键字的默认声明时,您应该做些什么吗?
235 c 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.