• 我想使用如下字典：示例：{[8,16]：[[1,2,4,8],8],[16,24]：...使用setdefault,我可以在字典中创建值列表,但不能为创建列表以下是我的代码：#!/usr/bin/env python"""This Program calculates common factors betw...

我想使用如下字典：
示例：{[8,16]：[[1,2,4,8],8],[16,24]：[[1,2,3,4,8,12],12]}
8和16是将要输入的两个数字,我需要构建如上所述的字典.
使用setdefault,我可以在字典中创建值列表,但不能为键创建列表
以下是我的代码：
#!/usr/bin/env python
"""
This Program calculates common factors between two Numbers , which
is stored on a list and also greatest common factor is also computed.
All this is stored in a dictionary
Example: { '[n1, n2]': [[Commonfac1(n1,n2), Commonfac2(n1,n2)....Commonfacn(n1,n2)],GreatestCommonFactor] }
"""
def Factors(number):
result = []
for i in range(1, number+1):
if (number % i) == 0:
result.append(i)
return result
def Common_Factors(n1, n2):
result = []
for element in n1:
if element in n2:
result.append(element)
return result
def greatest_common_factor(common_factors):
count = 0
length = len(common_factors)
current_largest = common_factors[count]
for i in common_factors:
count += 1
if count <= length -1:
if current_largest < common_factors[count]:
current_largest = common_factors[count]
return current_largest
def main():
n1 = 8
n2 = 16
result1 = Factors(n1)
result2 = Factors(n2)
CF = Common_Factors(result1, result2)
GCF = greatest_common_factor(CF)
dict = {}
dict.setdefault([n1, n2], []).append(CF)
print dict
if __name__ == '__main__':
main()
当我运行上面的程序时,我得到以下错误：
\$python math74.py
Traceback (most recent call last):
File "math74.py", line 58, in
main()
File "math74.py", line 54, in main
dict.setdefault([n1, n2], []).append(CF)
TypeError: unhashable type: 'list'
关于我如何实现上述任何提示. ？
澄清更多：
{[8,16]：[[1,2,4,8],8],[16,24]：[[1,2,3,4,8,12],12]}
8,16是两个数字,它们是用户输入,1,2,4,8是常见因子,8是最大公因数.

展开全文
• I received a list when inputting the following URL - http://api.twitter.com/1/trends/44418.jsonThe list contains multiple dictionaries, and I'm a bit confused with the list structure....


The list contains multiple dictionaries, and I'm a bit confused with the list structure. I'm trying to obtain the values associated with the 'name' key.
For example:
"name":"Rebecca Black"
"name":"#questionsihate"
I can write the code myself, I'm just trying to conceptually understand how to access dictionaries (and their key/value pairs) within a list.
解决方案
The first thing I would do when working with a big lump of json, is try to get it into a more readable format. This online json formatting tool should do the job.
Here's some code that will get all the trend names:
import urllib2
import json
# de-serialize the string so that we can work with it
# get the list of trends
trends = the_data[0]['trends']
# print the name of each trend
for trend in trends:
print trend['name']
Or you can do it all in one line:
names = [trend['name'] for trend in the_data[0]['trends']]
for name in names:
print name
Both will result in:
Rebecca Black
Eric Abidal
#questionsihate
#juniordoctors
Smiley Culture
Lily Allen
Wes Brown
Pandev
Ray Wilkins
Python docs on json (although you should only really need json.loads())

展开全文
• 如果你需要多个sorting字段，比如按姓氏sorting的话，那么名字不会使用元组作为字典键是个好主意吗？ 当然，这样的想法可能用途有限，但这并不意味着它是完全无用的。 当你想要显示多个组成键的元素时，你可以使用...

经典示例：您想要将点值存储为(x，y)的元组
salaries = {} salaries[('John', 'Smith')] = 10000.0 salaries[('John', 'Parker')] = 99999.0
编辑1当然，你可以做salaries['John Smith'] = whatever ，但那么你将不得不做额外的工作，把钥匙分为姓和名。 那么pointColor[(x, y, z)] = "red"怎么样，这里tuple key的好处更加突出。
我必须强调，这不是最好的做法。 在许多情况下，你最好创build特殊的类来处理这种情况，但阿列塔要求我给他(他)的例子。
编辑0
顺便说一下，每个元组也必须是可散列的：
>>> d = {} >>> t = (range(3), range(10, 13)) >>> d[t] = 11 Traceback (most recent call last): File "", line 1, in TypeError: list objects are unhashable >>>
例如，我使用元组很多时间作为dict键
当我必须从多个值创build唯一的密钥时，我确实使用它们
基于first_name ， last_name键可能是key = '%s_%s'%(first_name, last_name)但更好的办法是key = (first_name, last_name)因为
它更可读，更短

展开全文
• I have a python dictionaryd = {1: 6, 2: 1, 3: 1, 4: 9, 5: 9, 6: 1}Since the values in the above dictionary are not unique. I want to group the all the keys of unique values as a list and create a new ...


I have a python dictionary
d = {1: 6, 2: 1, 3: 1, 4: 9, 5: 9, 6: 1}
Since the values in the above dictionary are not unique. I want to group the all the keys of unique values as a list and create a new dictionary as follows:
v = {6:[1], 1:[2, 3, 6], 9: [4, 5]}
Note the keys of new dictionary v should be sorted. I am finding it hard to visualize and implement this dictionary creation. Please suggest me an easy and efficient way to do it.
解决方案from collections import defaultdict
v = defaultdict(list)
for key, value in sorted(d.iteritems()):
v[value].append(key)
but you can do it with a bog-standard dict too:
v = {}
for key, value in sorted(d.iteritems()):
v.setdefault(value, []).append(key)
In Python 3, use sorted(d.items()) instead.

展开全文
• 平时有事没事就在 Stack Overflow 上闲逛，这里有很多关于 Python 的有趣问题。...让我们定义一个使用整数、浮点数和字符串作为键字典， 从含义上看，它们都是“1”。 my_dict = { 1: 'one (integar)', '1': 'one
• Python 字典中的“”可以是列表。答：×中国大学MOOC:\现阶段的教师职业道德原则，应该包括：\;答：\教书育人原则\"; | \"依法执教原则\"; | \"教育人道主义原则\"; | \"为人师表原则\";"《南歌子》(天上星河转)是...
• 我想保存dataframe列的名称和lists索引的值,所以我想使用一个以lists值为和dataframe.loc[list_index]作为价值。[0,2,1,5,0,9,6,3]所以我想做一个这样的决定:0: [column1, another column]1: [column3,...].......
• In Python 2.7, I could get dictionary keys, values, or items as a list:>>> newdict = {1:0, 2:0, 3:0}>>> newdict.keys()[1, 2, 3]Now, in Python >= 3.3, I get something like this:>...
• python字典的键字典中的值没有任何限制， 可以是任意Python对象，即从标准对象到用户自定义对象皆... 当有键发生冲突(即字典键重复赋值)，取最后(最近)的赋值。Python并不会因字典中的键存在冲突而产生一个错误，它...
• 我发布了reduce()方法作为一种好奇，但是由于答案被接受，我发布了timeit结果，以便将性能与这张罚单上的其他答案进行比较。在from timeit import timeitimport functoolsdef _reduce_py2(the_list):return reduce...
• Python支持使用字典的“作为下标来访问字典中的值。答：√匈牙利“数学之父”是( )答：费耶Windows 7中,显示桌面的快捷键是:答：Win+D中国大学MOOC: 下列属于选择隧道位置时需要考虑的社会条件因素的是？答：...
• 我今天来是因为我有同样的问题。我必须说,我对这些答案很失望!我同意你的观点,这种冗余应该有一个惯用的解决方案。在这种情况下,JavaScript似乎比Python更明智。...例如,我有一个文件,它构建字典以通过Pyth...
• 我有一本字典，上面有这样的子字典：ZZU1所以当我做EDOCX1的时候，我得到了EDOCX1...现在，我的问题是，每当子字典中的某个项目增加时，我必须创建一个空白列表，并通过以下方式将其值附加到该列表中：ZZU1起初我认...
• 【分析题/解答题/计算题/证明题】1-1. 某工程基槽土方体积为 1300m 3 , 槽基内的基础体积为500m 3 ,基础施工完成后,用原来的土进行夯填,根据施 工组织的要求,应将多余的土方全部事先运走,试确定回填土的预留量和弃土...
• Sorry for this basic question but my searches on this are not turning up anything other than how to get a dictionary's key based on its value which I would prefer not to use as I simply want the text/...
• 将第一个列表的元素值作为键，将第二个列表中对应顺序的元素作为值，构建一个字典，按键升序排列后输出字典的所有键值对列表。 输入格式: 输入两行字符串，分别以空格为分隔存为列表。 输出格式: 按键的升序，输出...
• 我有一本字典，它有：d ={10L: {u'Owner Name': u'abc', u'Email': u'wa@gmail.com', u'Manager Name': u'jhon'}, 12L: {u'Owner Name': u'awdaw', u'Email': u'raghavpatnecha15@gmail.com', u'Manager Name': u'...
• 字典的键字典中的值没有任何限制， 可以是任意Python对象，即从标准对象到用户自定义对象皆可... 当有键发生冲突(即字典键重复赋值)，取最后(最近)的赋值。Python并不会因字典中的键存在冲突而产生一个错误，它不会...
• 我试图在python字典中使用一个对象作为键，但是它的行为方式让我无法完全理解。首先，我创建一个以对象为字典：package_disseminators = {ContentType("application", "zip", "http://other/property") : "one",...
• 我不得不将两个函数从测试中取出，因为它们必须有许多失败的结果，而且它们不支持将列表或dict作为值返回，我认为这是必要的，因为一个函数应该为几乎所有的数据做好准备。所以我在100.000次迭代中通过timeit模块泵...
• 我们将首先对字典进行排序，使用每个元素在keys中的位置作为键。如果我们使用类似于key=len的方法，则将每个元素发送到len()函数并使用返回的长度作为键。我们使用lambda来定义一个内联的、未命名的函数，它接受一...
• python中的类型分可以分为两类，可变类型和不可变类型 可变类型：dict、list、set 不可变类型：int、long、float、complex、string、bool、tuple 其中可变类型不能作为字典的key，因为它们没有__hash__()方法。 ...
• __all__ = ["ResNet", "resnet18", "resnet34", "resnet50", "resnet101", "resnet152"] model_urls = { "resnet18": 'https://download.pytorch.org/models/resnet18-5c106cde.pth', 'resnet34': '... ...
• python字典的键字典中的值没有任何限制， 可以是任意Python对象，即从标准对象到用户自定义对象皆... 当有键发生冲突(即字典键重复赋值)，取最后(最近)的赋值。Python并不会因字典中的键存在冲突而产生一个错误，它...
• 字典的键字典中的值没有任何限制， 可以是任意Python对象，即从标准对象到用户自定义对象皆可，但是字典中的键是有... 当有键发生冲突(即字典键重复赋值)，取最后(最近)的赋值。Python并不会因字典中的键存在冲突而...
• 我有一本字典，名字叫dictdict，看起来像：dictdict = { 'key1': {'subkey1': 4, 'subkey2': 7},'key2': {'...我想在每个单独的值上附加一个列表，保留已经存在的值作为新值列表中的第一项。因此，期望的结果将具...
• 最近研究返回列表，稍微总结一下，以后继续补充：字典是比列表更先进的一种内置数据结构。“字典”就像现实中的字典一样，每一个单词对应好几个意思。在Python面里就是每一个对应一个关联值。在Python中，我们可以...

...