我正在尝试从文件生成城市图。每个readline()我都得到三个值a,b、 和c。
a并且b是字符串,城市名称,c是int,之间的路径成本a和b。我如何存储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) 我正在开发一个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中列表中每个列表的最小数量.然后,在获得的最低值之外,我必须以某种方式找到最低数字的最高数字.我不允许调用内置的功能min或max,或使用任何其他职能从预先写好的模块.我该怎么做呢?我已经尝试使用以下代码:
for list in ells:
sort.list(ells)
Run Code Online (Sandbox Code Playgroud) 我在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)
我想要的只是得到今天有截止日期的项目
对我有什么建议吗?
谢谢
我有一个接受回调的 API 方法。回调需要一个参数。
我希望此方法将第二个参数传递给接受它的回调。但是,我必须保持与仅接受原始参数的回调的兼容性。(事实上,我预计大多数用户不会关心附加参数,因此强迫他们明确忽略它会很烦人。)
我知道这可以使用 来完成inspect。我想知道是否有一个“惯用”或常用的解决方案,但不是那么重量级。
我正在尝试使用 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 循环内进行解码?
我已将 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 延伸
代码:
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)
如何修复这个断言?
我想读取文本文件并检查字符串
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() 没有移动到下一行。
好吧,基本上我必须检查一个字符串是否与另一个字符串具有相同的字母。这两个字符串都是通过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 ×9
python-3.x ×7
algorithm ×1
assertion ×1
dictionary ×1
django ×1
django-admin ×1
graph ×1
gzip ×1
merge ×1
mocking ×1
odoo-11 ×1
python-3.3 ×1
python-3.7 ×1
string ×1