想象一下,你有:
keys = ['name', 'age', 'food']
values = ['Monty', 42, 'spam']
Run Code Online (Sandbox Code Playgroud)
生成以下字典的最简单方法是什么?
a_dict = {'name' : 'Monty', 'age' : 42, 'food' : 'spam'}
Run Code Online (Sandbox Code Playgroud) 哪个是用另一个字典扩展字典的最佳方法?例如:
>>> a = { "a" : 1, "b" : 2 }
>>> b = { "c" : 3, "d" : 4 }
>>> a
{'a': 1, 'b': 2}
>>> b
{'c': 3, 'd': 4}
Run Code Online (Sandbox Code Playgroud)
我正在寻找任何操作来获得这个避免for
循环:
{ "a" : 1, "b" : 2, "c" : 3, "d" : 4 }
Run Code Online (Sandbox Code Playgroud)
我希望做的事情如下:
a.extend(b) # This does not work
Run Code Online (Sandbox Code Playgroud) 有谁知道如何实现python的内置字典类型?我的理解是它是某种哈希表,但我无法找到任何确定的答案.
我认为运行带有稍微修改环境的外部命令是一种非常常见的情况.这就是我倾向于这样做的方式:
import subprocess, os
my_env = os.environ
my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"]
subprocess.Popen(my_command, env=my_env)
Run Code Online (Sandbox Code Playgroud)
我有一种直觉,觉得有更好的方法; 看起来好吗?
说我有三个词
d1={1:2,3:4}
d2={5:6,7:9}
d3={10:8,13:22}
Run Code Online (Sandbox Code Playgroud)
如何创建一个d4
结合这三个词典的新内容?即:
d4={1:2,3:4,5:6,7:9,10:8,13:22}
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法来更新dict dictionary1与dict更新的内容wihout覆盖levelA
dictionary1={'level1':{'level2':{'levelA':0,'levelB':1}}}
update={'level1':{'level2':{'levelB':10}}}
dictionary1.update(update)
print dictionary1
{'level1': {'level2': {'levelB': 10}}}
Run Code Online (Sandbox Code Playgroud)
我知道更新会删除level2中的值,因为它正在更新最低密钥level1.
鉴于dictionary1和update可以有任何长度,我怎么能解决这个问题呢?
如果我用关键字参数定义一个类方法,那么:
class foo(object):
def foodo(thing=None, thong='not underwear'):
print thing if thing else "nothing"
print 'a thong is',thong
Run Code Online (Sandbox Code Playgroud)
调用该方法会生成一个TypeError
:
myfoo = foo()
myfoo.foodo(thing="something")
...
TypeError: foodo() got multiple values for keyword argument 'thing'
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?
我想做:
award_dict = {
"url" : "http://facebook.com",
"imageurl" : "http://farm4.static.flickr.com/3431/3939267074_feb9eb19b1_o.png",
"count" : 1,
}
def award(name, count, points, desc_string, my_size, parent) :
if my_size > count :
a = {
"name" : name,
"description" : desc_string % count,
"points" : points,
"parent_award" : parent,
}
a.update(award_dict)
return self.add_award(a, siteAlias, alias).award
Run Code Online (Sandbox Code Playgroud)
但是如果觉得这个功能真的很麻烦,我宁愿做到:
return self.add_award({
"name" : name,
"description" : desc_string % count,
"points" : points,
"parent_award" : parent,
}.update(award_dict), siteAlias, alias).award
Run Code Online (Sandbox Code Playgroud)
为什么不更新返回对象以便链接?
JQuery这样做是为了链接.为什么python不接受它?
python ×10
dictionary ×6
class ×1
expression ×1
list ×1
lookup ×1
methods ×1
popen ×1
python-2.7 ×1
subprocess ×1