问题列表 - 第15387页

确定单元二维列表的邻居

我有一个列表列表,类似于

[[1, 2, 3,],[4, 5, 6,],[7, 8, 9]].

以图形方式表示为:

1 2 3
4 5 6
7 8 9
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种优雅的方法来检查单元格的邻居值,水平,垂直和对角线.例如,[0] [2]的邻居是[0] [1],[1] [1]和[1] [2]或者数字2,5,6.

现在我意识到我可以做一个暴力攻击检查每个值a la:

[i-1][j]
[i][j-1]
[i-1][j-1]
[i+1][j]
[i][j+1]
[i+1][j+1]
[i+1][j-1]
[i-1][j+1]
Run Code Online (Sandbox Code Playgroud)

但这很简单,我想通过看一些更优雅的方法我可以学到更多东西.

python matrix

10
推荐指数
5
解决办法
2万
查看次数

GNU/Linux中两个文件(作为行集)的笛卡尔积

我如何使用shell单行和常用GNU工具来连接两个文件中的行,如笛卡尔积?什么是最简洁,美丽和"linuxy"的方式?

例如,如果我有两个文件:

$ cat file1
a
b
$ cat file2
c
d
e
Run Code Online (Sandbox Code Playgroud)

结果应该是

a, c
a, d
a, e
b, c
b, d
b, e
Run Code Online (Sandbox Code Playgroud)

linux shell

15
推荐指数
5
解决办法
4663
查看次数

我怎么能在彼此之下拖放DataGridView行?

DataGridView绑定了一个List<myClass>,然后用" Priority"中的" "属性对其进行排序myClass.所以我想把" DataGridViewRow" 拖到某个位置来改变它的" Priority"属性.

我怎么能"拖放"DataGridView行? 以及如何处理这个?

.net c# drag-and-drop datagridview

25
推荐指数
1
解决办法
4万
查看次数

将生成器表达式嵌套在python函数调用的参数列表中

我喜欢使用以下习惯用法将列表组合在一起,有时候:

>>> list(itertools.chain(*[[(e, n) for e in l] for n, l in (('a', [1,2]),('b',[3,4]))]))
[(1, 'a'), (2, 'a'), (3, 'b'), (4, 'b')]
Run Code Online (Sandbox Code Playgroud)

(我知道有更简单的方法来获得这个特定的结果,但是当你想要迭代列表列表中的元素或类似的东西时,它会派上用场.当你使用生成器表达式时,麻烦就是这个变得容易出错.例如

>>> list(itertools.chain(*(((e, n) for e in l) for n, l in (('a', [1,2]),('b',[3,4])))))
[(1, 'b'), (2, 'b'), (3, 'b'), (4, 'b')]
Run Code Online (Sandbox Code Playgroud)

这里发生的是内部生成器表达式作为参数传递itertools.chain,所以在它们被评估时,外部生成器表达式已经完成,并且n固定在它的最终值,'b'.我想知道是否有人想办法避免这种错误,除了"不要那样做".

python list-comprehension generator

1
推荐指数
1
解决办法
1320
查看次数

与自定义比较器不同的LinQ留下重复

我有以下课程:

public class SupplierCategory : IEquatable<SupplierCategory>
{
    public string Name { get; set; }
    public string Parent { get; set; }

    #region IEquatable<SupplierCategory> Members

    public bool Equals(SupplierCategory other)
    {
        return this.Name == other.Name && this.Parent == other.Parent;
    }

    #endregion
}

public class CategoryPathComparer : IEqualityComparer<List<SupplierCategory>>
{
    #region IEqualityComparer<List<SupplierCategory>> Members

    public bool Equals(List<SupplierCategory> x, List<SupplierCategory> y)
    {
        return x.SequenceEqual(y);
    }

    public int GetHashCode(List<SupplierCategory> obj)
    {
        return obj.GetHashCode();
    }

    #endregion
}
Run Code Online (Sandbox Code Playgroud)

我正在使用以下linq查询:

CategoryPathComparer comparer = new CategoryPathComparer();
List<List<SupplierCategory>> categoryPaths = (from i …
Run Code Online (Sandbox Code Playgroud)

linq distinct custom-compare c#-3.0

9
推荐指数
1
解决办法
7025
查看次数

UISegmentedControl寄存器点击选定的段

我有一个分段控件,用户可以选择如何订购列表.工作良好.

但是,我希望在点击已选择的段时,订单会被反转.我已经准备好了所有代码,但我不知道如何在这些段上注册水龙头.似乎唯一可以使用的控制事件是UIControlEventValueChanged,但这不起作用(因为所选的段实际上没有变化).

这有解决方案吗?如果是这样,它是什么?

提前致谢!

iphone uisegmentedcontrol

61
推荐指数
9
解决办法
3万
查看次数

在listview上绘画会禁用listview项目上的重绘

这是什么原因?

我重写OnPaintBackground并绘制一个字符串.直到我在构造函数中调用它才会显示:

this.SetStyle ( ControlStyles.UserPaint, true );
Run Code Online (Sandbox Code Playgroud)

但后来我没有在列表视图中看到这些项目.

为什么以及如何解决这个问题?

编辑:代码

    protected override void OnPaintBackground ( PaintEventArgs pevent )
    {
        base.OnPaintBackground ( pevent );

        // Create string to draw.
        String drawString = "76";

        // Create font and brush.
        Font drawFont = new Font ( "Arial", 36 );
        SolidBrush drawBrush = new SolidBrush ( Color.Blue );

        // Create point for upper-left corner of drawing.
        PointF drawPoint = new PointF ( 150.0F, 150.0F );

        // Draw string to screen.
        pevent.Graphics.DrawString ( drawString, drawFont, …
Run Code Online (Sandbox Code Playgroud)

.net c# listview gdi+ winforms

0
推荐指数
1
解决办法
2759
查看次数

最小化距离的旋转矩阵

假设我在3D空间中有两个点(a和b)以及一个名为n的固定轴/单位向量.

我想创建一个旋转矩阵,最小化点a(未旋转)和旋转点b之间的欧几里德距离.

例如:

 Q := matrix_from_axis_and_angle (n, alpha);

 find the unknown alpha that minimizes sqrt(|a - b*Q|)
Run Code Online (Sandbox Code Playgroud)

顺便说一句 - 如果使用单位四元数可以更容易地表达解决方案/算法并继续使用它们.我只是使用矩阵来表达我的问题,因为它们被更广泛地使用.


哦 - 我知道有一些退化的情况(a或b完全符合等等).这些可以忽略.我只是在寻找可以计算单个解决方案的情况.

math 3d geometry

4
推荐指数
1
解决办法
1789
查看次数

在ntdll内部使用gdb进行调试时,断点无处不在

我做了一个非常简单的程序,它为我自动化了一些东西.我用c ++编写它,它在Windows上运行.在Codeblocks IDE内部使用GDB进行调试时,我无处可获得许多断点.我不知道可能导致这个问题的原因.断点似乎与内存问题有关...因为当我修复了我检测到的内存泄漏时,断点数量明显减少了.

gdb告诉我的确切事情是:

 Program received signal SIGTRAP, Trace/breakpoint trap.
 In ntdll!TpWaitForAlpcCompletion () (C:\Windows\system32\ntdll.dll)
Run Code Online (Sandbox Code Playgroud)

我在程序中多次得到这个.我认为我可能会做一些非常错误的事情,即使程序看起来运行得很好并且它完成了我想要它做的事情.任何人都可以告诉我这是什么问题,因为我不知道在哪里看?如果它不是问题,那么有没有人知道如何禁用它,因为这阻止我进入我自己设置的断点?

提前致谢!

编辑:(添加GDB的输出where命令):我在哪里可以检查每个函数的作用,所以我可以看到我做错了什么?

#0  0x76fefadd in ntdll!TpWaitForAlpcCompletion () from C:\Windows\system32\ntdll.dll
#1  0x0028e894 in ?? ()
#2  0x76fb272c in ntdll!RtlCreateUserStack () from C:\Windows\system32\ntdll.dll
#3  0x00657fb8 in ?? ()
#4  0x00657fb8 in ?? ()
#5  0x76f4b76a in ntdll!RtlDowncaseUnicodeChar () from C:\Windows\system32\ntdll.dll
#6  0x02070005 in ?? ()
#7  0x00000b10 in ?? ()
#8  0x0028e8dc in ?? ()
#9  0x76ff0b37 in ntdll!TpQueryPoolStackInformation () from C:\Windows\system32\ntdll.dll
#10 0x038b0000 in ?? () …
Run Code Online (Sandbox Code Playgroud)

debugging gdb

10
推荐指数
2
解决办法
2万
查看次数

我应该使用哪种方法?

我是一个中级java编码器,编写一个图书管理员Java应用程序,由于某种原因,我无法弄清楚是否应该使用dueDate.after(today)OR dueDate.before(today)方法来判断该书是否过期.通过键入两种方法,我得到了相当矛盾的价值观.因此,我也假设我的代码中还有一些其他错误,所以如果你能够确定哪个是正确的方法,这样我就可以继续修复另一个错误.

java date project

0
推荐指数
1
解决办法
167
查看次数