我想在更新密钥的值之前测试字典中是否存在密钥.我写了以下代码:
if 'key1' in dict.keys():
print "blah"
else:
print "boo"
Run Code Online (Sandbox Code Playgroud)
我认为这不是完成这项任务的最佳方式.有没有更好的方法来测试字典中的密钥?
我知道要从我的字典中删除一个条目"key" d,安全地,你这样做:
if d.has_key('key'):
del d['key']
Run Code Online (Sandbox Code Playgroud)
但是,我需要安全地从字典中删除多个条目.我正在考虑在元组中定义条目,因为我需要不止一次地执行此操作.
entitiesToREmove = ('a', 'b', 'c')
for x in entitiesToRemove:
if d.has_key(x):
del d[x]
Run Code Online (Sandbox Code Playgroud)
但是,我想知道是否有更聪明的方法来做到这一点?
在Python中遍历图形时,我收到此错误:
'dict'对象没有属性'has_key'
这是我的代码:
def find_path(graph, start, end, path=[]):
path = path + [start]
if start == end:
return path
if not graph.has_key(start):
return None
for node in graph[start]:
if node not in path:
newpath = find_path(graph, node, end, path)
if newpath: return newpath
return None
Run Code Online (Sandbox Code Playgroud)
该代码旨在找到从一个节点到另一个节点的路径.代码来源:http://cs.mwsu.edu/~terry/courses/4883/lectures/graphs.html
为什么我会收到此错误,如何解决?
在PHP中有一个函数调用isset()来检查某些东西(如数组索引)是否存在并具有值.Python怎么样?
我需要在数组上使用它,因为我有时会得到"IndexError:list index out of range".
我想我可以使用try/catch,但这是最后的选择.
可能重复:
'has_key()'或'in'?
我有一个Python字典,如:
mydict = {'name':'abc','city':'xyz','country','def'}
Run Code Online (Sandbox Code Playgroud)
我想检查密钥是否在字典中.我很想知道从以下两个案例中哪个更为可取,为什么?
1> if mydict.has_key('name'):
2> if 'name' in mydict:
Run Code Online (Sandbox Code Playgroud) 从另一个函数,我有这样的元组('falseName', 'realName', positionOfMistake),例如.('Milter', 'Miller', 4).我需要编写一个函数来创建这样的字典:
D={realName:{falseName:[positionOfMistake], falseName:[positionOfMistake]...},
realName:{falseName:[positionOfMistake]...}...}
Run Code Online (Sandbox Code Playgroud)
该函数必须将字典和上面的元组作为参数.
我开始想这样的事情:
def addToNameDictionary(d, tup):
dictionary={}
tup=previousFunction(string)
for element in tup:
if not dictionary.has_key(element[1]):
dictionary.append(element[1])
elif:
if ...
Run Code Online (Sandbox Code Playgroud)
但它不起作用,我有点被困在这里.
是否有单行方法来检查Python 2d dict是否具有内部键/值?
现在我做这样的事情:
if d.has_key(k1):
if d[k1].has_key(k2):
# do something
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
谢谢
可能重复:
'has_key()'或'in'?
在Python中,有两种方法可以决定a key是否在dict:
if dict.has_key(key) 和 if key in dict
有人告诉我,第二个比第一个慢,因为in关键字使表达式在dict上迭代,所以它会比has_key替代更慢,显然使用hash来做出决定.
我非常怀疑差异,因为我认为Python足够聪明,可以in在dict某种哈希方式之前翻译关键字,我找不到任何关于此的正式声明.
那两者之间真的有效率差异吗?
谢谢.
我有一个元组列表,每个元组包含两个元素.少数子列表的第一个元素很常见.我想比较这些子列表的第一个元素,并将第二个元素添加到一个列表中.这是我的清单:
myList=[(1,2),(1,3),(1,4),(1,5),(2,6),(2,7),(2,8),(3,9),(3,10)]
Run Code Online (Sandbox Code Playgroud)
我想列出一个列表,看起来像这样:`
NewList=[(2,3,4,5),(6,7,8),(9,10)]
Run Code Online (Sandbox Code Playgroud)
我希望如果有任何有效的方法.
python ×10
dictionary ×6
append ×1
compare ×1
list ×1
performance ×1
python-2.7 ×1
python-3.x ×1