小编Iai*_*der的帖子

一对列表中的最小对列表

给定两个整数列表,生成最短的对列表,其中两个列表中的每个值都存在.每对中的第一个必须是第一个列表中的值,每对中的第二个必须是第二个列表中的值.每对中的第一个必须小于该对中的第二个.

zip如果列表长度不同,或者每个列表中的同一位置存在相同的整数,则简单将无效.

def gen_min_pairs(uplist, downlist):
    for pair in zip(uplist, downlist):
        yield pair
Run Code Online (Sandbox Code Playgroud)

到目前为止,我可以提出以下建议:

def gen_min_pairs(uplist, downlist):
    up_gen = iter(uplist)
    down_gen = iter(downlist)

    last_up = None
    last_down = None

    while True:
        next_out = next(up_gen, last_up)
        next_down = next(down_gen, last_down)

        if (next_up == last_up and
            next_down == last_down):
            return

        while not next_up < next_down:
            next_down = next(down_gen, None)
            if next_down is None:
                return
        yield next_up, next_down

        last_up = next_up
        last_down = next_down
Run Code Online (Sandbox Code Playgroud)

这是一个简单的测试程序:

if __name__ == '__main__':
    from pprint import pprint …
Run Code Online (Sandbox Code Playgroud)

python algorithm

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

如何从MIPS程序集中的堆栈弹出?

我正在尝试学习MIPS汇编,因为我有一些空闲时间,而我正在尝试编写一个程序,将数字推送到堆栈,然后弹出它们.我希望它计算在达到负数之前弹出的数字的数量,然后每次得到负数时,保持计数弹出了多少负数和正数.

到目前为止我得到了这个:

 #count the number of negative words on the stock by poping the stack until a non-    negative word is found 
#and print out the number of words found

.text
.globl main
#this code reads the numbers from the data area and stores in them in a stack
#the numbers are located in the test area and the number of numbers in the num area

main:   la $t0, test
lw $t1, num
loop:   lw $t2,($t0)
sub $sp, $sp, 4 …
Run Code Online (Sandbox Code Playgroud)

stack mips

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

如何重命名tSQLt测试类?

我正在使用Red Gate SQL Developer工具开发数据库.SQL Test是运行tSQLt测试的SSMS加载项,缺少重命名测试类的方法.

我有一个叫做的测试[BackendLayerCustomerAdministrationTests].[test uspMaintainCustomerPermissions throws error when PermissionValue is missing or empty].

这个名字很长,它破坏了Deployment Manager.

2013-12-05 18:48:40 +00:00 ERROR指定的路径,文件名或两者都太长.完全限定的文件名必须少于260个字符,目录名必须少于248个字符.

在这个类中还有其他笨拙的测试名称,所以我想从缩短类名开始.

一个更简洁的类名称CustomerTests.

sp_rename在这里没有帮助.

EXECUTE sys.sp_rename
  @objname = N'BackendLayerCustomerAdministrationTests',
  @newname = N'CustomerTests';
Run Code Online (Sandbox Code Playgroud)

消息15225,级别11,状态1,过程sp_rename,行374在@itemtype输入为'(null)'的情况下,可以在当前数据库'ApiServices'中找到名称为'BackendLayerCustomerAdministrationTests'的项目.

我该如何改变它?

redgate tsqlt

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

诗:如何发布针对多个Python版本的项目包?

我有一个项目想要发布为针对两个 Python 版本(3.6 和 3.8)的包。

我的理解是:

  • 如何使用pyenv.
  • 如何poetry创建与所选 Python 版本相对应的虚拟环境。
  • 如何设置pyproject.toml以指定 python 版本、管理依赖项以及使用此配置发布包。

我不明白的是:如何为多个 Python 版本发布同一个包?我不可能是唯一一个拥有此用例的人,对吗?

  • 需要两个pyproject.toml文件吗?(每个 python 版本和一组相应的依赖项都有一个......)
  • 是否有既定的方法可以用 Poetry 来做到这一点,或者是否需要其他工具/工作流程?

编辑

做了更多的挖掘,我发现这个https://python-poetry.org/docs/dependency-specation/#multiple-constraints-dependencies看起来可能是相关的。

这是上面链接中的示例。

[tool.poetry.dependencies]
foo = [
    {version = "<=1.9", python = "^2.7"},
    {version = "^2.0", python = "^3.4"}
]
Run Code Online (Sandbox Code Playgroud)

poetry add我还发现你可以使用这样指定Python版本...

poetry add cleo --python 3.6.10
Run Code Online (Sandbox Code Playgroud)

这会像这样添加依赖项pyproject.toml......

cleo = {version = "^0.8.1", python = "3.6.10"}
Run Code Online (Sandbox Code Playgroud)

要去尝试一下,看看这是否有效。

python-packaging python-poetry

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

这两个T-SQL语句有什么区别?

在工作中的SSIS包中,有一些SQL任务可以创建用于保存导入数据的登台表.所有陈述都采用以下形式:

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.tbNewTable') AND type in (N'U'))
BEGIN
    TRUNCATE TABLE dbo.tbNewTable
END
ELSE
BEGIN
    CREATE TABLE dbo.tbNewTable (
        ColumnA VARCHAR(10) NULL,
        ColumnB VARCHAR(10) NULL,
        ColumnC INT NULL
    ) ON PRIMARY
END
Run Code Online (Sandbox Code Playgroud)

在Itzik Ben-Gan的T-SQL基础知识中,我看到了一种用于创建表的不同形式的语句:

IF OBJECT_ID('dbo.tbNewTable', 'U') IS NOT NULL
BEGIN
    DROP TABLE dbo.tbNewTable
END

CREATE TABLE dbo.tbNewTable (
    ColumnA VARCHAR(10) NULL,
    ColumnB VARCHAR(10) NULL,
    ColumnC INT NULL
) ON PRIMARY
Run Code Online (Sandbox Code Playgroud)

这些中的每一个似乎都做同样的事情.执行后,dbo架构中会有一个名为tbNewTable的空表.

这两者之间是否有任何实际或理论上的差异?他们可能会有什么影响?

t-sql

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

如何在PowerShell中更改为临时目录?

在PowerShell中,我可以回应%TEMP%使用该命令的价值$Env:TEMP.这是我机器上的输出:

PS> $Env:temp
C:\Users\IAIN~1.COR\AppData\Local\Temp
Run Code Online (Sandbox Code Playgroud)

当我尝试使用该cd命令切换到目录时,收到此错误:

PS> cd $Env:temp
Set-Location : An object at the specified path C:\Users\IAIN~1.COR does not exist.
At line:1 char:3
+ cd <<<<  $Env:temp
    + CategoryInfo          : InvalidArgument: (:) [Set-Location], PSArgumentException
    + FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.SetLocationCommand
Run Code Online (Sandbox Code Playgroud)

我怀疑PowerShell正在解释8.3文件名.目录的长文件名是C:\Users\iain.CORP\AppData\Local\Temp.当我尝试时cd C:\Users\Iain.CORP\AppData\Local\Temp,目录成功更改.

如何在$Env:TEMP使用PowerShell时打开路径?我必须先拥有长文件名吗?

powershell temp

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

IntelliJ IDEA + TestNG:在组中的每个测试之前运行方法

我正在学习使用TestNG进行IntelliJ IDEA 9.

据我了解,将测试放入一个被调用的组中的一种方法name是对其进行注释@Test(group = "name").要在每次测试之前运行方法,请使用@BeforeMethod.

在我的测试设置中,我想要一个方法在每个测试之前仅在特定组中运行.因此,有一种方法beforeA在组A中的beforeB每个B测试之前运行,在每个测试之前运行的方法等等.

示例代码:

public class TestExample
{
    @BeforeMethod(groups = "A")
    public void beforeA()
    {
        System.out.println("before A");
    }

    @BeforeMethod(groups = "B")
    public void beforeB()
    {
        System.out.println("before B");
    }

    @Test(groups = "A")
    public void A1()
    {
        System.out.println("test A1");
    }

    @Test(groups = "A")
    public void A2()
    {
        System.out.println("test A2");
    }

    @Test(groups = "B")
    public void B1()
    {
        System.out.println("test B1");
    }

    @Test(groups = "B")
    public …
Run Code Online (Sandbox Code Playgroud)

testng intellij-idea

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

C++ stl pop不会返回

我有经验,stl pop函数不会返回任何内容.

如何返回堆栈的顶部元素并将其删除?

top函数不是一个好的解决方案,因为它只返回顶部元素的引用...

c++ stl

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

为什么这个JavaScript只在Opera中执行?

我正在尝试构建一个干净地将HTML表示与JavaScript行为分开的网站.

为了获得这方面的经验,我创造了一个简单的"Hello,world!" 网站有一个页面和一个行为.该页面包含"Hello,world!" 消息,JavaScript通过警告框向用户显示类似的消息.

为了实现这一点,我在本地机器上创建了两个名为index.html和sayhello.js的文件.

HTML文件index.html包含以下内容:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8"/>
    <title>Hello, world!</title>
  </head>
  <body>
    <h1>Helo, world!</h1>
    <p>That's all for now.</p>

    <script type="text/javascript" src="sayhello.js"/>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

JavaScript文件sayhello.js包含:

alert('Hello, world!');
Run Code Online (Sandbox Code Playgroud)

我的操作系统是Windows 7.

我在Opera 11中打开index.html并看到"Hello,world!" 页面打开后会立即弹出对话框.

在Firefox 4,Chrome 11和IE 9中,我看不到弹出窗口.好像JavaScript被忽略了.

为什么警报框不会出现在所有浏览器中?我能做些什么让它显示出来?

html javascript

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

如何将此sqlcmd脚本转换为Invoke-Sqlcmd脚本?

我有一个设计为由sqlcmd执行的SQL脚本,以及一个使用正确参数执行sqlcmd的Command脚本.

我想将Command脚本转换为使用Invoke-Sqlcmd而不是sqlcmd 的PowerShell脚本.

SQL脚本,Command脚本和新的PowerShell脚本都存在于目录中C:\Users\iain.CORP\SqlcmdQuestion.

SQL脚本

调用SQL脚本ExampleQuery.sql.它选择一个字符串文字.字符串文字的值由sqlcmd在运行时设置为ComputerNamesqlcmd脚本变量的值.代码如下所示:

SELECT '$(ComputerName)';
Run Code Online (Sandbox Code Playgroud)

命令脚本

命令脚本被调用ExecQuery.cmd.它调用sqlcmd来执行ExampleQuery.sql并将脚本变量ComputerName的值设置为环境变量的值COMPUTERNAME.代码如下所示:

sqlcmd -i ExampleQuery.sql -v ComputerName = %COMPUTERNAME%
Run Code Online (Sandbox Code Playgroud)

当我打开命令提示符时,默认工作目录是C:\Users\iain.CORP.我将更改到包含文件的目录,然后运行命令脚本:

cd C:\Users\iain.CORP\SqlcmdQuestion
ExecQuery.cmd
Run Code Online (Sandbox Code Playgroud)

我看到这个输出:

---------
SKYPC0083

(1 rows affected)
Run Code Online (Sandbox Code Playgroud)

该脚本成功选择sqlcmd设置的字符串文字.

PowerShell脚本

PowerShell脚本称为ExecQuery.ps1.它应该与命令脚本一样,使用Invoke-Sqlcmd而不是sqlcmd.代码如下所示:

Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100

Invoke-Sqlcmd -InputFile 'ExampleQuery.sql' -Variable "ComputerName = $Env:COMPUTERNAME"
Run Code Online (Sandbox Code Playgroud)

当我打开PowerShell提示符时,默认工作目录是Z:\.我切换到包含文件的目录,并运行PowerShell脚本:

cd C:\Users\iain.CORP\SqlcmdQuestion
.\ExecQuery.ps1
Run Code Online (Sandbox Code Playgroud)

我看到这个输出:

Invoke-Sqlcmd : Could not find file 'Z:\ExampleQuery.sql'.
At C:\Users\iain.CORP\SqlcmdQuestion\ExecQuery.ps1:4 char:14
+ Invoke-Sqlcmd …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server powershell cmd sqlcmd

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

是否有删除列表中所有元素的特定命令?

我知道你可以简单地说:

list = [a, b, c, d, e]

for index in list:
    list.remove(index)
Run Code Online (Sandbox Code Playgroud)

但是使用单个命令有更快的方法:

list.remove(all)
Run Code Online (Sandbox Code Playgroud)

或类似的规定?

python list

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