小编blh*_*ing的帖子

python - 如何在循环中创建字典字典

我正在尝试从文件生成城市图。每个readline()我都得到三个值ab、 和ca并且b是字符串,城市名称,cint,之间的路径成本ab。我如何存储a, b,c以便我得到类似的东西

graph = {
          'a1': {'b1': c1, 'b1': 5, 'a2': c2},
          'a2': {'a1': c2},
          'b1': {'a1': c1},
        }
Run Code Online (Sandbox Code Playgroud)

这是我的代码的一部分:

dict = dict()   #dictionary for storing values
while (True):
    new_path = file.readline()
    if new_path == "":
        break
    new_path = new_path.rstrip().split(", ")
    a = new_path[0][2:len(new_path[0]) - 1] #start town
    b = new_path[1][1:len(new_path[1]) - 1] #end …
Run Code Online (Sandbox Code Playgroud)

dictionary graph python-3.x

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

如何在python中合并具有重叠字符的字符串?

我正在开发一个python项目,它读取一个URL编码的重叠字符串列表.每个字符串长度为15个字符,并且与其顺序字符串重叠至少3个字符,最多15个字符(相同).

该程序的目标是从重叠字符串列表(有序或无序)到压缩的URL编码字符串.

我当前的方法在重叠字符串中的重复段处失败.例如,我的程序错误地组合:

StrList1 = [ 'd+%7B%0A++++public+', 'public+static+v','program%0Apublic+', 'ublic+class+Hel', 'lass+HelloWorld', 'elloWorld+%7B%0A+++', '%2F%2F+Sample+progr', 'program%0Apublic+']
Run Code Online (Sandbox Code Playgroud)

输出:

output = ['ublic+class+HelloWorld+%7B%0A++++public+', '%2F%2F+Sample+program%0Apublic+static+v`]
Run Code Online (Sandbox Code Playgroud)

当正确的输出是:

output = ['%2F%2F+Sample+program%0Apublic+class+HelloWorld+%7B%0A++++public+static+v']
Run Code Online (Sandbox Code Playgroud)

我使用简单的python,而不是biopython或序列对齐器,虽然也许我应该?

非常感谢有关此事的任何建议或在python中做到这一点的好方法的建议!

谢谢!

python string merge string-comparison sequence-alignment

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

如何编写代码以获取python中列表中每个列表的最低值?

我需要帮助编写一个代码,以帮助我获得python中列表中每个列表的最小数量.然后,在获得的最低值之外,我必须以某种方式找到最低数字的最高数字.我不允许调用内置的功能minmax,或使用任何其他职能从预先写好的模块.我该怎么做呢?我已经尝试使用以下代码:

for list in ells:
    sort.list(ells)
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

“datetime.date”类型的对象在python中没有len()”

我在odoo 11中有这样的代码

@api.multi
def report_team(self):
    teambao = self.env['hr.department'].search([])
    tongteam = len(teambao)
    i = 0
    while i < tongteam:
        if teambao[i].id:
            now = datetime.now()
            print(now.date())

            project = self.env['project.project'].search([('deadline', '=', now.date())])
            print (project)
        i = i + 1
Run Code Online (Sandbox Code Playgroud)

当我运行这个函数时,它得到这样的错误

"object of type 'datetime.date' has no len()" while evaluating 'model.report_team()' 
in report_team
project = self.env['project.project'].search([('deadline', '=', now.date())])
Run Code Online (Sandbox Code Playgroud)

我想要的只是得到今天有截止日期的项目

对我有什么建议吗?

谢谢

python python-3.x odoo-11

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

将额外的可选参数传递给回调而不破坏现有的回调

我有一个接受回调的 API 方法。回调需要一个参数。

我希望此方法将第二个参数传递给接受它的回调。但是,我必须保持与仅接受原始参数的回调的兼容性。(事实上​​,我预计大多数用户不会关心附加参数,因此强迫他们明确忽略它会很烦人。)

我知道这可以使用 来完成inspect。我想知道是否有一个“惯用”或常用的解决方案,但不是那么重量级。

python python-3.x python-3.3

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

在Python 3中使用io.BufferedReader快速读取gzip(文本文件)

我正在尝试使用 gzip 模块有效地读入和解析压缩文本文件。此链接建议使用 包装 gzip 文件对象io.BufferedReader,如下所示:

import gzip, io
gz = gzip.open(in_path, 'rb')
f = io.BufferedReader(gz)
     for line in f.readlines():
         # do stuff
gz.close()
Run Code Online (Sandbox Code Playgroud)

要在 Python 3 中执行此操作,我认为gzip必须使用mode='rb'. 所以结果是这line是一个二进制字符串。但是,我需要line是文本/ascii 字符串。是否有更有效的方法来使用 读取文件作为文本字符串BufferedReader,或者我必须line在 for 循环内进行解码?

python gzip bufferedreader python-3.x

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

Django-admin TypeError: __init__() 得到了一个意外的关键字参数“allow_abbrev”

我已将 Django 升级到 2.1.4(从 2.0.5),当我运行命令行 manage.py 时出现以下错误 python3 manage.py createsuperuser

这是详细的错误:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.5/dist-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.5/dist-packages/django/core/management/__init__.py", line 314, in execute
    parser = CommandParser(usage='%(prog)s subcommand [options] [args]', add_help=False, allow_abbrev=False)
  File "/usr/local/lib/python3.5/dist-packages/django/core/management/base.py", line 48, in __init__
    super().__init__(**kwargs)
TypeError: __init__() got an unexpected keyword argument 'allow_abbrev'
Run Code Online (Sandbox Code Playgroud)

我在使用 Python 3.5.3 和 Django 2.1.4 的 Debian 延伸

python django django-admin

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

如何为 __getitem__() 调用执行 assert_has_calls?

代码:

from unittest.mock import MagicMock, call

mm = MagicMock()
mm().foo()['bar']

print(mm.mock_calls)
print()

mm.assert_has_calls([call(), call().foo(), call().foo().__getitem__('bar')])
Run Code Online (Sandbox Code Playgroud)

输出:

[call(), call().foo(), call().foo().__getitem__('bar')]

Traceback (most recent call last):
  File "foo.py", line 9, in <module>
    mm.assert_has_calls([call(), call().foo(), call().foo().__getitem__('bar')])
TypeError: tuple indices must be integers or slices, not str
Run Code Online (Sandbox Code Playgroud)

如何修复这个断言?

python mocking assertion python-unittest python-3.7

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

逐行读取文本文件并检查其中 2 行中的子字符串

我想读取文本文件并检查字符串

with open(my_file,'r') as f:
    for line in f:
        if 'text1' in line:
            f.next()
            if 'text2' in line:
                # do some processing
Run Code Online (Sandbox Code Playgroud)

我想首先在行的开头找到文本“text1”,然后如果找到,我想检查下一行是否有“text2”,如果找到,那么我将做一些其他处理。似乎 f.next() 没有移动到下一行。

python python-3.x

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

检查一个字符串的字母是否在另一字符串中

好吧,基本上我必须检查一个字符串是否与另一个字符串具有相同的字母。这两个字符串都是通过input()获得的。

我不想再次检查某个字母是否在另一个字符串中,因此如果我已经检查了该字母,我想跳到下一个字母。

我现在的代码是这样的:

str1, str2 = list(input()), list(input()) 

if len(str1) > len(str2):
    str = str1
else: 
    str = str2

for x in str:
    c = 0
    if x in str2:
        c += 1
if c != 0:
    print("Both have the same letters!") 
else: 
    print("Nope there are some letters missing..")
Run Code Online (Sandbox Code Playgroud)

我不知道我是否应该使用列表而不是使用计数器..请详细解释解决方案或一些高质量的指导将非常感激!<3

python algorithm python-3.x

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