草庐IT

字典序法

全部标签

python - 在 Python(噩梦般的 JSON 结构)中展平未知深度的字典列表(等)

我正在处理以如下结构输出给我的JSON结构:[{u'item':u'something',u'data':{u'other':u'',u'else':[{u'more':u'evenmore',u'argh':{...etc..etc如您所见,这些是嵌套的字典和列表。关于递归地展平这些有很多讨论,但我还没有找到可以处理字典列表的讨论,而字典列表又可能包含列表的字典、列表的列表、字典的字典等;这是未知的深度!在某些情况下,深度可能高达100左右。到目前为止,我一直在尝试这个,但运气不佳(python2.7.2):defflatten(structure):out=[]foritemins

python - 如何从列表列表中制作有序字典?

问题是:有一个名称列表和一个列表列表,如何创建一个列表,其中每个项目都是一个有序的字典,名称作为键,列表列表中的项目作为值?从下面的代码中可能会更清楚:fromcollectionsimportOrderedDictlist_of_lists=[['20010103','0.9507','0.9569','0.9262','0.9271'],['20010104','0.9271','0.9515','0.9269','0.9507'],['20010105','0.9507','0.9591','0.9464','0.9575'],]names=['date','open','hig

Python 字典键作为一组数字

我想在python中构造一个字典,它的键是0到1之间的最小/最大值对。例如:myDict={(0,.5):'red',(.5,1):'orange'}我希望能够用集合[min,max]中的数字调用字典中的条目。>>>myDict[.464897]'red'>>>myDict[.5]'orange'我觉得可能有一种不错、简单的方法可以做到这一点。不过,这是难以捉摸的,因为我还在穿python尿布。 最佳答案 假设间隔不重叠,没有间隙,并且使用二分查找对它们进行排序:>>>keys=[0.5,1]#goesfrom0to1,specif

python - 如何将字符串列表转换为 python 中的字典列表?

我有一个字符串,格式为:["('colA':'datA1','colB':'datB1','colC':'datC1')","('colA':'datA2','colB':'datB2','colC':'datC2')",.........."('colA':'datAn','colB':'datBn','colC':'datCn')]我需要获得一个字典:[{'colA':'datA1','colB':'datB1','colC':'datC1'},{'colA':'datA2','colB':'datB2','colC':'datC2'},..........{'colA':'dat

python - 如何制作一个整数列表,它是字典中一组列表中所有整数的总和?

假设我创建了一个由n个键组成的字典。每个键都映射到一个长度一致的整数列表。我现在想做的是一个新列表,它表示字典列表中每个点的整数总和。举例说明:my_dict={'a':[1,2,3,4],'b':[2,3,4,5],'c':[3,4,5,6]}total_sum_list=[]forkeyinmy_dict.keys():total_sum_list+=###somewayofaddingthenumberstogether预期输出:total_sum_list=[6,9,12,15]如上所示,我不确定如何设置此for循环,以便创建一个类似于total_sum_list的列表。我试过

python - 测试字典键是否存在,不为空且不为空

我有可用的代码,但我想知道是否有更pythonic的方法来执行此操作。我有一本字典,我想看看是否:存在一个键该值不是None(在本例中来自SQL的NULL)该值不只是引用(空白?)该值不仅仅由空格组成所以在我的代码中,“a”、“b”和“c”键会成功,这是正确的。importremydict={"a":"alpha","b":0,"c":False,"d":None,"e":"","g":"",}#a,b,cshouldsucceedforkinmydict.keys():ifkinmydictandmydict[k]isnotNoneandnotre.search("^\s*$",st

python - 是否按行替换并将覆盖字典中的值两次?

假设我有以下数据集lst=['u','v','w','x','y']lst_rev=list(reversed(lst))dct=dict(zip(lst,lst_rev))df=pd.DataFrame({'A':['a','b','a','c','a'],'B':lst},dtype='category')现在我想用dct替换df中B列的值我知道我能做到df.B.map(dct).fillna(df.B)为了获得预期的输出,但是当我使用replace进行测试时(根据我的想法,这更直接),我失败了输出显示如下df.B.replace(dct)Out[132]:0u1v2w3v4uNa

python - 如何加载 pyYAML 文件并使用属性而不是使用字典符号访问它?

我有一个YAML配置,如下所示:config:-id:foo-name:barcontent:-run:xxx-remove:yyy我正在使用PythonYAML模块来加载它,但我想以更好的方式访问它,例如:stream=open(filename)config=load(stream,Loader=Loader)print(config['content'])我想要的是能够做到:print(config.content)。 最佳答案 您可以使用以下类在字典中使用对象表示法,如this中所述回答:classDictAsMember(

python - 将 CSV 文件的内容转换为字典

到目前为止,我的代码是在一个基本上读取csv文件并打印其内容的函数中:defread(filename):withopen(filename,'r')ascsvfile:reader=csv.reader(csvfile,delimiter=',')forrowinreader:print(row)sailor.csv的内容:name,meanperformance,stddevAlice,100,0,Bob,100,5,Clare,100,10,Dennis,90,0,Eva,90,5,读取('sailor.csv')并运行函数当前输出:['name','meanperformanc

python - Pandas DataFrame.groupby() 到具有多列值的字典

type(Table)pandas.core.frame.DataFrameTable=====================Column1Column2Column302311521231195256122223243145459154415125873对于任何熟悉pandas的人,我将如何使用.groupby()方法构建一个多值字典?我希望输出类似于这种格式:{0:[(23,1)]1:[(5,2),(2,3),(19,5)]#etc...}其中Col1值表示为键,相应的Col2和Col3是为每个Col1键。我的语法只适用于将一列汇集到.groupby()中:Table.group