我的数据是以"密钥"格式组织的,而不是"键值".它就像一个HashMap,但我需要在两个方向上进行O(1)查找.这种类型的数据结构是否有名称,Java标准库中是否包含这样的名称?(或者可能是Apache Commons?)
我可以编写自己的类,基本上使用两个镜像映射,但我宁愿不重新发明轮子(如果这已经存在但我只是没有找到合适的术语).
Python的列表类型有一个index()方法,它接受一个参数并返回匹配参数的列表中第一个项的索引.例如:
>>> some_list = ["apple", "pear", "banana", "grape"]
>>> some_list.index("pear")
1
>>> some_list.index("grape")
3
Run Code Online (Sandbox Code Playgroud)
是否有一种优雅(惯用)方式将其扩展到复杂对象列表,如元组?理想情况下,我希望能够做到这样的事情:
>>> tuple_list = [("pineapple", 5), ("cherry", 7), ("kumquat", 3), ("plum", 11)]
>>> some_list.getIndexOfTuple(1, 7)
1
>>> some_list.getIndexOfTuple(0, "kumquat")
2
Run Code Online (Sandbox Code Playgroud)
getIndexOfTuple()只是一个假设的方法,它接受一个子索引和一个值,然后返回该子索引上具有给定值的列表项的索引.我希望
有没有办法实现这样的一般结果,使用列表推导或lambas或类似的"内联"?我想我可以编写自己的类和方法,但如果Python已经有办法,我不想重新发明轮子.
我正在构建一个Web应用程序来跟踪一个人检查的图书馆书籍.我有以下型号:
class Person(models.Model):
name = models.CharField(max_length=100)
def __unicode__(self):
return self.name
class Book(models.Model):
name = models.CharField(max_length=100)
person = models.ForeignKey(Person)
checkout_date = models.DateTimeField('checkout date')
def __unicode__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
在管理员的"人员更改列表"页面上,我想展示该人拥有的书籍.这是可以做到的吗?如果是这样,怎么样?
admin.py
class BookAdmin(admin.ModelAdmin):
list_display = ('name', 'checkout_date', 'person' )
class PersonAdmin(admin.ModelAdmin):
list_display = ('name', 'book__name')
Run Code Online (Sandbox Code Playgroud) 在PHP中,有一个功能是对域名进行反向查找,以找出托管域名的特定共享托管服务器上托管的网站数量.或者,用PHP做到这一点的方法?
现在,我已经知道提供此服务的在线服务.但是,我想写一个脚本来自己做.我只是想不出来.
任何不建议使用第三方服务的建议都会很棒.
我有一个可用的标识符,用于将东西放入字典中:
class identifier():
def __init__(self, d):
self.my_dict = d
self.my_frozenset = frozenset(d.items())
def __getitem__(self, item):
return self.my_dict[item]
def __hash__(self):
return hash(self.my_frozenset)
def __eq__(self, rhs):
return self.my_frozenset == rhs.my_frozenset
def __ne__(self, rhs):
return not self == rhs
Run Code Online (Sandbox Code Playgroud)
我有一个节点类型,为了哈希和相等的目的封装了标识符:
class node:
def __init__(self, id, value):
# id is of type identifier
self.id = id
self.value = value
# define other data here...
def __hash__(self):
return hash(self.id)
def __eq__(self, rhs):
if isinstance(rhs, node):
return self.id == rhs.id
### for the case when rhs …
Run Code Online (Sandbox Code Playgroud) 有没有办法使用python进行反向查找,检查共享主机中共享相同IP地址的网站列表.
一些网站为此提供了一个工具.
当Entry对象的数量大于5000个条目时,django中有没有办法更有效地执行以下操作?
models.py
class Entry(models.Model):
user = models.TextField(db_column='User', blank=True)
date = models.DateTimeField(blank=True)
class Color(models.Model):
color = models.TextField(blank=True)
entry = models.ForeignKey(Entry)
Run Code Online (Sandbox Code Playgroud)
让我们说我希望获得每个条目的所有颜色......
entrys = Entry.objects.all()
for e in entrys:
print e.color_set.all()
Run Code Online (Sandbox Code Playgroud)
我希望能够将每个对象与特定条目相关联.例如,在像这样的csv表中.
user, color
john, blue
john, orange
bob, green
bob, red
bob, purple
Run Code Online (Sandbox Code Playgroud)
查看我的所有条目需要几秒钟的时间.有没有更好的办法?
我正在尝试使用Django 1.3进行反向SQL查找.我发现了很多相关的问题,但不幸的是我只能在单个记录上找到答案,而不是一次找到多个记录.
基本上,这是我的情况:我有一个模型'技术',看起来像这样:
class Technique(models.Model):
title = models.CharField(max_length=32)
description = models.CharField(max_length=256)
skill_level = models.IntegerField()
parent_technique = models.ForeignKey('self', blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
目前我只列出了所有无主义技巧.
t = get_list_or_404(Technique.objects.filter(parent_technique=None))
Run Code Online (Sandbox Code Playgroud)
现在我想要的(或者至少我想要的)是t
获得一个加法字段'childs'的所有条目,列出了将当前技术列为其父项的所有技术.谁能帮我这个?
此外,如果他们是实现我想要的另一种方式,请随时贡献它.我刚刚开始使用Django,所以我可能不知道任何其他方法.
非常感谢提前!
python ×5
django ×3
admin ×1
dictionary ×1
django-views ×1
dns ×1
foreign-keys ×1
hashmap ×1
ip-address ×1
java ×1
list ×1
map ×1
networkx ×1
optimization ×1
performance ×1
php ×1
tuples ×1