我有2本词典
dict1 = {'color': {'attri': ['Black']}, 'diameter': {'attri': ['(300, 600)']}}
dict2 = {'size': {'op':'in'}, 'diameter': {'op':'range'}, 'color': {'op':'in'}}
Run Code Online (Sandbox Code Playgroud)
我想结合这两个词典
dict3 = {'color': {'op': 'in', 'attri': ['Black']}, 'diameter': {'op': 'range', 'attri': ['(300,600)']}}
Run Code Online (Sandbox Code Playgroud) 我有一个清单,说:
NUM = 100
my_list = list(range(NUM))
Run Code Online (Sandbox Code Playgroud)
我想生成一个dict
键等于值的东西,比如:
my_dict = {item: item for item in my_list}
Run Code Online (Sandbox Code Playgroud)
或者:
my_dict = dict(zip(my_list, my_list))
Run Code Online (Sandbox Code Playgroud)
我已经运行了一些微基准测试,看起来它们的速度相似,但我希望第二个会更快,因为循环应该在 C 中发生。
例如,以下构造:
my_dict = {key: SOMETHING for key in keys}
Run Code Online (Sandbox Code Playgroud)
翻译成更快:
my_dict = dict.fromkeys(k, SOMETHING)
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是:有没有类似的这样的构造{x: x for x in my_list}
?
我已经检查过dir(dict)
,在这个方向上似乎没有任何东西(我希望它被称为类似的东西dict.fromitems()
)。
dict.fromitems()
与此特定用例相比,类似的方法具有更广泛的应用,因为:
dict.fromitems(keys, values)
Run Code Online (Sandbox Code Playgroud)
原则上可以同时替代两者:
{k, v for k, v in zip(keys, values)}
Run Code Online (Sandbox Code Playgroud)
和:
dict(zip(keys, values))
Run Code Online (Sandbox Code Playgroud) 我有两个字典如下:
D1={'a':1,'b':2,'c':3}
和
D2={'b':2,'c':3,'d':1}
我想合并这两个词典,结果如下:
D3={'a':1,'b':2,'c':3,'b':2,'c':3,'d':1}
我怎么能在python中实现这一点?
我已经宣布了一本字典
data=dict(key="sadasfd",secret="1213",to="23232112",text="sucess",from='nattu')
Run Code Online (Sandbox Code Playgroud)
它在python中显示错误,表示使用了关键字.为什么不服用from
?
每当我from
在字典中遇到密钥时,我都无法使用它.
假设希望字典存在某些键。如果缺少默认值,是否有一种简单的方法可以添加这些具有默认值的特定键?
例如:
default_dict = {'name': '', 'height': 100, 'age': 20}
d = {'name': 'James', 'age': 65}
d.set_defaults(default_dict)
Run Code Online (Sandbox Code Playgroud)
将字典更新d
为
{'name': 'James', 'age': 65, 'height': 100}
Run Code Online (Sandbox Code Playgroud)
其中d
保留了 的原始值,只添加了缺失的键。
该default_dict
不该在这个过程中被破坏。
我有这本字典:
appointment = { soccer = {
day : 20,
month : april
}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能在同一结构中插入这个字典?
appointment = { gym = {
day : 5,
month : may
}
}
Run Code Online (Sandbox Code Playgroud)
预期输出:
appointment = { soccer = {
day : 20,
month : april
},
gym = {
day : 5,
month : may
}
}
Run Code Online (Sandbox Code Playgroud)
我如何通过代码连接这个dictio?
是否可以简化此操作:
def method(self, **kwargs):
if kwargs.get('profile_id') is None:
kwargs['profile_id'] = 'something1'
if kwargs.get('status') is None:
kwargs['status'] = 'something2'
if kwargs.get('account_type') is None:
kwargs['account_type'] = 'something3'
if kwargs.get('external_account_id') is None:
kwargs['external_account_id'] = 'something4'
if kwargs.get('vendor') is None:
kwargs['vendor'] = 'something5'
if kwargs.get('created_timestamp') is None:
kwargs['created_timestamp'] = 'something6'
return ClassOne.objects.create(**kwargs)
Run Code Online (Sandbox Code Playgroud)
这行得通,但是我只是好奇是否还有更优雅的东西。我正在考虑做这样的事情:
kwargs['profile_id'] = kwargs.get('profile_id') or 'something1'
Run Code Online (Sandbox Code Playgroud) 我有 4 个 python 字典,其中每个键的值是另一个字典:
a={'a': {'e': 4}}
b={'b': {'f': 5}}
c={'c': {'g': 6}}
d={'d': {'h': 7}}
Run Code Online (Sandbox Code Playgroud)
我想将字典 a、b、c 和 d 合并在一起,这样我就有了一个最终的字典,如下所示:
{'a': {'e': 4}, 'b': {'f': 5}, 'c': {'g': 6}, 'd': {'h': 7}}
Run Code Online (Sandbox Code Playgroud)
其中父字典的顺序是我添加每个原始字典的顺序。
所以我创建了一个空字典并执行了以下操作:
x={} #create empty dictionary
x.update(a) #update with first dictionary
print x
x.update(b) #update with second dictionary
print x
x.update(c) #update with third dictionary
print x
x.update(d) #update with forth dictionary
print x
Run Code Online (Sandbox Code Playgroud)
结果是这样的:
{'a': {'e': 4}}
{'a': {'e': 4}, 'b': {'f': 5}}
{'a': {'e': …
Run Code Online (Sandbox Code Playgroud) 我有连接词典的问题.有这么多代码,所以我在示例中显示我的问题是什么.
d1 = {'the':3, 'fine':4, 'word':2}
+
d2 = {'the':2, 'fine':4, 'word':1, 'knight':1, 'orange':1}
+
d3 = {'the':5, 'fine':8, 'word':3, 'sequel':1, 'jimbo':1}
=
finald = {'the':10, 'fine':16, 'word':6, 'knight':1, 'orange':1, 'sequel':1, 'jimbo':1}
Run Code Online (Sandbox Code Playgroud)
它是wordcloud的字数.我不知道如何连接键的值,这对我来说很困惑.请帮忙.最好的祝福
我有一个包含一堆字典的列表,我试图将它们合并为一个
看起来像这样...
[{'name':'name', 'value':'john'}, {'name':'sex', 'value':'male'}, {'name':'color', 'value':'blue'}, {'name':'car', 'value':'toyota'}, {'name':'job', 'value':'cashier'}]
Run Code Online (Sandbox Code Playgroud)
我试图将它们全部组合成一个字典,以便名称值是键,值是值。现在我正在做这样的事情并且它工作正常但我知道有一个更简单的方法
keys = []
vals = []
for item in a:
if item['name']:
keys.append(item['name'])
if item['value']:
vals.append(item['value'])
md = dict(zip(keys,vals))
Run Code Online (Sandbox Code Playgroud)
任何指导将不胜感激...谢谢
python ×10
dictionary ×6
list ×2
python-2.7 ×2
django ×1
json ×1
performance ×1
python-3.x ×1
textedit ×1
word-cloud ×1