草庐IT

python - 从dict python对值进行排序并返回键列表

这个问题在这里已经有了答案:关闭11年前.PossibleDuplicate:Python:Sortadictionarybyvalue我有一本这样的字典:A={'Name1':34,'Name2':12,'Name6':46,....}我想要一个按值排序的键列表,即[Name2,Name1,Name6....]谢谢!!! 最佳答案 使用sorted与get方法作为键(字典键可以通过iterating访问):sorted(A,key=A.get) 关于python-从dictpython

python - 为什么我的实例变量不在 __dict__ 中?

如果我创建一个类A如下:classA:def__init__(self):self.name='A'检查__dict__成员看起来像{'name':'A'}如果我创建一个类B:classB:name='B'__dict__为空。两者有什么区别,name为什么没有出现在B的__dict__中? 最佳答案 B.name是类属性,而不是实例属性。它出现在B.__dict__中,但不在b=B();b.__dict__.区别有点模糊,因为当您访问实例上的属性时,类dict是一个后备。所以在上面的例子中,b.name会给你B.name的值。

python - Python 3 上的 dict.keys()[0]

这个问题在这里已经有了答案:Accessingdict_keyselementbyindexinPython3(7个回答)关闭2年前。我有这句话:defCiudad(prob):numero=random.random()ciudad=prob.keys()[0]foriinprob.keys():if(numero>prob[i]):if(prob[i]>prob[ciudad]):ciudad=ielse:if(prob[i]>prob[ciudad]):ciudad=ireturnciudad但是当我调用它时会弹出这个错误:TypeError:'dict_keys'objectd

python - 将 Python 对象列表减少为 object.id -> object 的 dict

你有一个对象列表,每个对象都有一个id属性。这是我将其转换为dict的方法,其中键是id,值是对象:reduce(lambdax,y:dict(x.items()+{y.id:y}.items()),list,{})建议更好的方法。 最佳答案 在Python3.x中:object_dict={x.id:xforxinobject_list}在Python3.x和Python2.4+中:object_dict=dict((x.id,x)forxinobject_list)(x.id,x)forxinobject_list是一个生成器推

python - dict和set之间的区别(python)

所以,我知道这个,a={}#dict构造一个空字典。现在,我也捡到了这个,b={1,2,3}#set创建一个集合。这很容易验证,因为,>>>print(type(a))>>>print(type(b))虽然我理解它的作用,但我看不出为什么我们对空字典使用“集合表示法”。我试图在set中找到有关其背后逻辑的更多信息。和dict手册的部分,但遗憾的是,我没有从中得到任何东西。谁能向我解释为什么我们会这样做?是因为历史原因,还是我遗漏了一些明显的东西? 最佳答案 Python2中没有setliterals,历史上花括号仅用于字典。集合可以

python - TypeError : string indices must be integers, not str//使用 dict

我正在尝试定义一个过程,involved(courses,person),它将类(class)结构和人员作为输入,并返回描述该人员所参与的所有类(class)的字典。这是我的involved(courses,person)函数:definvolved(courses,person):fortime1incourses:forcourseincourses[time1]:forinfointime1[course]:printinfo这是我的字典:courses={'feb2012':{'cs101':{'name':'BuildingaSearchEngine','teacher':'

python - 子类 dict : UserDict, dict 还是 ABC?

UserDict、dict和ABC有什么区别,推荐哪一种?文档似乎已弃用UserDict?似乎UserDict的update()会使用我的setitem方法,而dict不会?鉴于我想要自定义setitem和getitem函数,哪些方法是真正需要重写的?使用ABCs我必须实现所有方法,因为它没有提供默认实现?我想做一个dict做两件事:intern()所有键和值将一些值存储在SQLite数据库中那么UserDict、dict和ABC中的哪一个最适合我这样做? 最佳答案 如果您想要一个实际保存数据的自定义集合,请继承dict。如果您想扩

python - `**` 在表达式 `dict(d1, **d2)` 中是什么意思?

我对下面的python表达式很感兴趣:d3=dict(d1,**d2)任务是将两个字典合并为第三个,上面的表达式完成了任务。我对**运算符以及它对表达式的作用感兴趣。我以为**是幂运算符,还没有看到它在上面的上下文中使用过。完整的代码片段如下:>>>d1={'a':1,'b':2}>>>d2={'c':3,'d':4}>>>d3=dict(d1,**d2)>>>printd3{'a':1,'c':3,'b':2,'d':4} 最佳答案 参数列表中的**具有特殊含义,如section4.7ofthetutorial中所述.使用**kw

python - 是否可以一次将相同的值分配给 dict 对象中的多个键?

在Python中,我需要一个如下所示的字典对象:{'a':10,'b':20,'c':10,'d':10,'e':20}我已经能够通过像这样结合dict.update()和dict.fromkeys()函数来成功地做到这一点:myDict={}myDict.update(dict.fromkeys(['a','c','d'],10))myDict.update(dict.fromkeys(['b','e'],20))但是,由于代码是为可能需要偶尔添加键/值的新手用户编写的,所以我更喜欢简单的准系统(类Perl)语法,例如:myDict={}myDict['a','c','d']=10m

python - 访问 dict 键,如果不存在则返回 None

在Python中最有效的方法是什么:my_var=some_var['my_key']|None即。如果some_var包含'my_key',则将some_var['my_key']分配给my_var,否则为my_var为无。 最佳答案 如果字典中不存在key,Python将抛出KeyError,因此您无法以与JavaScript完全相同的方式编写代码。但是,如果您在示例中专门使用dicts操作,则有一个非常好的函数mydict.get('key',default)尝试从字典中获取key并返回默认值如果键不存在,则返回值。如果您只想