小编Pav*_*vel的帖子

使用list comprehension将字符串转换为dict

我几次遇到这个问题,似乎无法找到一个简单的解决方案.说我有一个字符串

string = "a=0 b=1 c=3"
Run Code Online (Sandbox Code Playgroud)

我想将其转换为字典,其中a,b和c是键,0,1和3是它们各自的值(转换为int).显然我可以这样做:

list = string.split()
dic = {}
for entry in list:
    key, val = entry.split('=')
    dic[key] = int(val)
Run Code Online (Sandbox Code Playgroud)

但我真的不喜欢循环,看起来很简单,你应该能够将它转换为某种列表理解表达式.这适用于稍微简单的情况,其中val可以是一个字符串.

dic = dict([entry.split('=') for entry in list])
Run Code Online (Sandbox Code Playgroud)

但是,我需要动态地将val转换为int,并且做这样的事情在语法上是不正确的.

dic = dict([[entry[0], int(entry[1])] for entry.split('=') in list])
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:有没有办法消除使用列表理解的for循环?如果没有,是否有一些内置的python方法可以为我做到这一点?

python string dictionary list-comprehension generator-expression

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

sql group仅按行顺序排列

说我有下表:

MyTable
---------
| 1 | A |
| 2 | A |
| 3 | A |
| 4 | B |
| 5 | B |
| 6 | B |
| 7 | A |
| 8 | A |
---------
Run Code Online (Sandbox Code Playgroud)

我需要sql查询输出以下内容:

---------
| 3 | A |
| 3 | B |
| 2 | A |
---------
Run Code Online (Sandbox Code Playgroud)

基本上我正在做一个group by但只针对序列中的行.有任何想法吗?

请注意,数据库位于sql server 2008上.有关此主题的帖子,但它使用oracle的lag()函数.

sql sql-server group-by sql-server-2008 gaps-and-islands

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

谷歌地图的通行费?

我正在编写一个应用程序来计算两点之间的距离和成本.其中一个要求是我需要计算旅程的成本(汽油和公路收费).气很容易.但是,我想不出一个收费的好办法.谷歌告诉我,如果GStep有收费,但它没有说明多少.似乎没有中央权威机构公布收费标准(这是针对西欧的).任何人都有处理这个问题的经验,你是如何解决的?

- 帕维尔

routing google-maps

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

将输出重定向为其他用户

我需要sudo作为一个不同的使用,以执行某个命令.我正在尝试使用strace并将其输出重定向到文件中以供进一步分析.棘手的部分是,作为sudo'ed用户,我没有权限写入我要保存文件的位置.(并且没有sudo'ing我没有权限执行该命令开始) .

那么如何以用户A的身份执行命令,并将其输出重定向为用户B?

linux sudo pipe redirectstandardoutput

4
推荐指数
2
解决办法
2692
查看次数

引用的程序集不会加载

我有一个 Visual Studio 2010 项目,它发布了一个名为myAssembly.ddl. 然后我想参考myAssembly.dll现有的 vs 2008 项目。如果我尝试加载引用,它旁边会出现一个黄色感叹号,表明该程序集未加载。但是,在此过程中我没有收到任何错误消息。显然,如果我尝试在代码中导入名称空间,它不会编译。

转换myAssembly.dll为 .net 版本 3.5 没有帮助。将程序集复制到不同的目录并从那里引用它也不起作用。

有任何想法吗?

.net assemblies visual-studio-2010 visual-studio-2008 visual-studio

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