在大多数流行的语言中,比如C/C++/C#/ Erlang/Java,我们有线程/进程; GPGPU计算市场正在增长.如果算法需要N个与数据无关的步骤,那么我们得到的性能就不一样,因为算法需要所有步骤都相互跟随.所以我想知道大O符号在并发世界中是否有意义?如果它与分析算法性能无关?
您可以在分布式环境中拥有N个或更多处理器(未来的GPGPU /集群/ FPGA,您可以根据需要获得尽可能多的内核 - 并发世界,不限于并行内核的数量)
我的意图是拥有一个包含独特词典的列表.为此,我已经发现使用套装将是一个不错的选择,这就是我一直在尝试的.
这是我一直在做的事情:
import json
mylist = [{'id':1,'name':'john', 'age':34},{'id':1,'name':'john', 'age':34},{'id':2,'name':'hanna', 'age':30}]
print(mylist[0])
myset = set(json.dumps(mylist[0]))
print(myset)
Run Code Online (Sandbox Code Playgroud)
这是输出
{'id': 1, 'age': 34, 'name': 'john'} #actual dictionary element
{'e', 'j', 'h', 'i', ':', '"', 'o', '3', 'n', 'a', '}', '4', ' ', ',', 'm', 'g', '{', '1', 'd'} #dictionary element in set
Run Code Online (Sandbox Code Playgroud)
由于我们无法将字典对象存储在集合中,因此我首先使用json.dumps将元素转换为字符串.基本上设置是单一化我的字典元素.如何将字典元素存储在集合中.我知道我们不能将dict对象存储在一个集合中,因此我将它们转换为字符串1st然后添加set.
我是Python的初学者.我正在关注"以艰难的方式学习Python".在练习40中,我尝试编写一个简短的代码但是出错了.请帮我 :(
资源
class showInfo(object):
'Initialize a classL'
def __int__(self, name, phone, age):
self.name = name
self.phone = phone
self.age = age
def showName(self):
print("Name: "+self.name)
def showAge(self):
print("Age: "+self.age)
def showPhone(self):
print("Phone: "+self.phone)
emp1 = showInfo("JJJ")
emp1.showName()
Run Code Online (Sandbox Code Playgroud)
调试
Traceback (most recent call last):
File "classes.py", line 15, in <module>
emp1 = showInfo("JJJ")
TypeError: object() takes no parameters
Run Code Online (Sandbox Code Playgroud) 我想检查两个列表的总和是否相同.
lst1 = [1 2 3 4]
lst2 = [0 3 3 4]
if sum(lst1) == sum(lst2):
return true
Run Code Online (Sandbox Code Playgroud)
这里总和返回true.如果我散列列表,我得到不同的值,但散列计算成本很高.我只想检查两个列表中的元素是否相同(只有1个元素除外).我正在使用二进制搜索技术划分列表然后检查哈希.如果哈希是不同的,我正在检查它是否不止一次.但正如我所说,散列计算成本很高.这个命令在这里也很重要.谢谢
为什么^不在Python中进行平方?我知道取幂是**相反的,但究竟是什么^以及为什么不使用该算子呢?
例如2^2=0,3^2=1.