小编hje*_*mig的帖子

根据文件中的选项卡拆分字符串

我的文件包含由制表符分隔的值("\ t").我正在尝试创建一个列表并将所有文件值存储在列表中.但我遇到了一些问题.这是我的代码.

line = "abc def ghi"
values = line.split("\t")
Run Code Online (Sandbox Code Playgroud)

只要每个值之间只有一个选项卡,它就可以正常工作.但是,如果有一个以上的选项卡,那么它也会将表复制到值.在我的情况下,大多数额外的选项卡将位于文件中的最后一个值之后.任何人都可以帮助我.

python string split

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

pylint并没有指向virtualenv python

我是python和currenty的新手我正在尝试使用pylint来检查代码质量.我遇到了问题.我的pylint并没有指向virtualenv python解释器.这是我运行pylint --version时得到的输出

 $ pylint --version
   pylint 0.21.1,
   astng 0.20.1, common 0.50.3
   Python 2.6.6 (r266:84292, Jul 10 2013, 22:48:45)
   [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)]
Run Code Online (Sandbox Code Playgroud)

在virtualenv我安装了python 2.7.如果有人可以指出我如何解决这个问题,那么会给你一些帮助.

python pylint virtualenv

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

检查字典键是否为空

我有以下字典

dict1 ={"city":"","name":"yass","region":"","zipcode":"",
       "phone":"","address":"","tehsil":"", "planet":"mars"}
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个将基于dict1的新字典,但是,

  1. 它不会包含带有空字符串的键。
  2. 它不会包含我不想包含的那些键。

我已经能够满足要求2,但遇到了要求1的问题。这就是我的代码。

dict1 ={"city":"","name":"yass","region":"","zipcode":"",
   "phone":"","address":"","tehsil":"", "planet":"mars"}

blacklist = set(("planet","tehsil"))    
new = {k:dict1[k] for k in dict1 if k not in blacklist} 
Run Code Online (Sandbox Code Playgroud)

这给了我没有键的字典:“ tehsil”,“ planet”我也尝试了以下方法,但是没有用。

new = {k:dict1[k] for k in dict1 if k not in blacklist and dict1[k] is not None}
Run Code Online (Sandbox Code Playgroud)

结果字典应如下所示:

new = {"name":"yass"}
Run Code Online (Sandbox Code Playgroud)

python dictionary

6
推荐指数
2
解决办法
9520
查看次数

对于python集,'和'和'&'之间有区别吗?

如果字典键有空值,我对问题检查有很好的帮助.但我想知道and&python 之间是否存在差异?我认为它们应该相似吗?

dict1 ={"city":"","name":"yass","region":"","zipcode":"",
   "phone":"","address":"","tehsil":"", "planet":"mars"}

whitelist = {"name", "phone", "zipcode", "region", "city",
             "munic", "address", "subarea"}

result = {k: dict1[k] for k in dict1.viewkeys() & whitelist if dict1[k]}
Run Code Online (Sandbox Code Playgroud)

python set

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

pylint 中无法导入模块错误

我正在使用 pylint 并使用 sonarqube 进行代码分析。一切都已安装并且工作正常。但是我收到错误“f0401”,表示我无法导入模块。这是我的目录结构。

\n\n
top level:\n    directoryA\n        __init__.py\n        folderA\n        some .py files        \n    directoryB\n        __init__.py\n        folderA\n        some .py files\n    directoryC\n        __init__.py\n        folderA\n        some .py files\n
Run Code Online (Sandbox Code Playgroud)\n\n

我在 DirectoryA 上运行 pylint。目录 A 中的 .py 文件有一些来自目录 B 和目录 C 的导入。因此,当我在 DirectoryA 上运行 pylint 时,我会遇到导入错误,例如无法\'导入directoryB.somemodule\'。我希望我能够解释清楚。

\n\n

有人可以帮助他解决这个问题吗?PS 如果一些 \xc2\xb4body 向我指出一些使用和调整 pylint 的好文档和教程,那就太好了。

\n

pylint sonar-runner sonarqube

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

检查具有相似键但值不同的两个词典

我有两本词典.dict1和dict2.dict 2的长度始终相同,但dict1的长度不同.两个词典如下:

dict2 = {"name":"martin","sex":"male","age":"97","address":"blablabla"}

dict1 = {"name":"falak", "sex":"female"}
Run Code Online (Sandbox Code Playgroud)

我想创建一个基于dict1和dict2的第三个字典.dict3将具有dict2的所有值.但是所有这些键都将被替换为dict1中存在的键.这是由此产生的dict3

dict3 = {"name":"falak","sex":"female","age":"97","address":"blablabla"}
Run Code Online (Sandbox Code Playgroud)

我可以做多个if语句,但想要有一个更聪明的方法.可以请有人指导我这件事.

python dictionary

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

python正则表达式中[:alpha:]的简写

[:alpha:]如果我正在制作需要它的unicode正则表达式,那相当于什么.

例如,[:word:]它是[\w]

如果我得到一些帮助,将会很棒.

python regex unicode

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

基于旧字典创建一个新字典

我有以下命令:

abc = {"type":"insecure","id":"1","name":"peter"}
Run Code Online (Sandbox Code Playgroud)

我想做的是基于旧字典创建一个新字典,其中没有键“type”,键“id”更改为“identity”。新的字典将如下所示:

xyz = {"identity":"1","name":"peter"}
Run Code Online (Sandbox Code Playgroud)

我想出的解决方案如下:

abc = {"type":"insecure","id":"1","name":"peter"}
xyz = {}
black_list_values = set(("type","id"))
for k in abc:
    if k not in blacklist_values:
        xyz[k] = abc[k]
xyz["identity"] = abc["id"]
Run Code Online (Sandbox Code Playgroud)

我想知道这是否是最快且有效的方法?目前,“abc”只有三个值。如果“abc”更大并且有很多值,那么我的解决方案仍然高效且快速。

python dictionary

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

在Redis中删除密钥的多个字段

我的字典如下:

dict1 = {"a":"foo","b":"bar","c":"foobar"}
Run Code Online (Sandbox Code Playgroud)

dict1的键是redis中键的字段.我想用hdel删除Redis中的那些字段.我想知道是否有可能一次发送多个字段到redis.

我想从dict1创建一个键列表并将其传递给redis.hdel,但它不起作用,我总是返回false.将会提供任何帮助/建议.

list1 = []
key = "somerediskey"
    for k in dict1:
        list1.append(k)
data = redis_connection.hdel(key, list1)
Run Code Online (Sandbox Code Playgroud)

python redis

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

将字典键保存为字符串

我有以下字典:

OrderedDict([(u'b1', OrderedDict([(u'ip', u'199.0.0.1'), (u'port', u'1122')])),
             (u'b2', OrderedDict([(u'ip', u'199.0.0.1'), (u'port', u'1123')]))])
Run Code Online (Sandbox Code Playgroud)

我想创建一个字符串,从字典中获取键并加入它们,但也放在它们:之间,因此结果将是

(b1:b2)
Run Code Online (Sandbox Code Playgroud)

字典中可以有很多键.有人可以帮我解决这个问题吗?

python dictionary

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