小编s32*_*280的帖子

检查数字中的数字是否在python中按递增顺序排列

我正在研究一个问题,该问题确定数字中的数字是否在递增序列中.现在,我采取的解决问题的方法是,例如,考虑数字5678.

为了检查5678是否是一个递增的序列,我取了第一个数字和下一个数字以及最后一个数字,5,6,8并且在范围函数中替换 range(first,last,(diff of first digit and the next to first digit))range(5,8+1,abs(5-6)).结果是升序中的数字列表

对于这个问题,有一个约束说

For incrementing sequences, 0 should come after 9, and not before 1, as in 7890.现在我的程序在输入7890处断开.我不知道如何编码这个逻辑.有谁可以帮助我吗?.

增加序列的代码是

  len(set(['5','6','7','8']) - set(map(str,range(5,8+1,abs(5-6))))) == 0 
Run Code Online (Sandbox Code Playgroud)

python algorithm

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

来自Dict的子类违反了python中面向对象编程的基本规则

我要求更好地了解作者对特定代码段的评论.为了详细说明,我将举例说明.

 class DoppelDict(dict):           
     def __setitem__(self, key, value):
        super().__setitem__(key, [value] * 2)

 # case 1.
 dd = DoppelDict(one=1)
 print(dd)  # {'one':1}

 # case 2.
 dd['two'] = 2
 print(dd)  # {'one':1,'two':[2,2]}
Run Code Online (Sandbox Code Playgroud)

上面的例子是从一本书中挑选的,作者评论"内置行为违反了面向对象编程的基本规则:搜索方法应始终从目标实例的类(self)开始,即使调用发生在超类中实现的方法中.

我相信作者试图表达,因为python忽略了由用户定义的类重写的特殊方法,它违反了OOP.我想知道我的解释是否正确?你对作者评论有什么其他解释吗?

python oop

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

如何在python中对关键字参数使用executor.map函数

我遇到了一个场景,我需要为 python 中的值列表并行运行函数。我学习了 executor.map 从concurrent.futures将完成这项工作。我能够使用以下语法并行化该函数executor.map(func,[values])

但是现在,我遇到了相同的场景(即函数必须并行运行),但是函数签名与之前和下面给出的不同。

  def func(search_id,**kwargs):
      # somecode
      return list

  container = []
  with concurrent.futures.ProcessPoolExecutor() as executor:
       container.extend(executor.map(func, (searchid,sitesearch=site),[list of sites]))
Run Code Online (Sandbox Code Playgroud)

我不知道如何实现上述目标。有人可以指导我吗?

python python-3.x

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

标签 统计

python ×3

algorithm ×1

oop ×1

python-3.x ×1