草庐IT

字典序法

全部标签

python - 如何将三个列表压缩到一个嵌套的字典中

我有三个列表:z1=['A','A','B','B']z2=['k1','k2','k1','k2']z3=['v1','v2','v3','v4']当我写的时候:print(dict(zip(z2,z3)))这是我的输出:{'k2':'v4','k1':'v3'}我希望这样:{'A':{'k1':'v1','k2':'v2'},'B':{'k1':'v3','k2':'v4'}}你能告诉我怎样才能得到我预期的结果吗? 最佳答案 函数zip()可以接受两个以上的迭代。所以你可以使用zip(z1,z2,z3)而不是zip(z2,z3)

python - 有没有办法使用另一个字典在 Python 字典上设置多个默认值?

假设我有两个Python指令:mydict={'a':0}defaults={'a':5,'b':10,'c':15}我希望能够使用defaults中的默认值扩展mydict,这样'a'保持不变但'b'和'c'被填充我知道dict.setdefault()和dict.update(),但每个只做我想要的一半-使用dict.setdefault(),我必须遍历defaults中的每个变量;但是对于dict.update(),defaults将清除mydict中任何预先存在的值。是否有一些我没有发现的内置于Python中的功能可以做到这一点?如果没有,是否有比这更Pythonic的方式来编

python - python字典列表中的项目频率

好的,所以我有一个字典列表:[{'name':'johnny','surname':'smith','age':53},{'name':'johnny','surname':'ryan','age':13},{'name':'jakob','surname':'smith','age':27},{'name':'aaron','surname':'specter','age':22},{'name':'max','surname':'headroom','age':108},]我想要每列中项目的“频率”。所以为此我会得到类似的东西:{'name':{'johnny':2,'jakob'

python - 是否可以根据键列表在 Python 中获取字典的有序 "slice"?

假设我有以下字典和列表:my_dictionary={1:"hello",2:"goodbye",3:"World","sand":"box"}my_list=[1,2,3]是否有一种直接的(Pythonic)方法可以按照列表顺序定义的顺序从字典中获取键值对,其中键是列表中的元素?天真的方法是简单地遍历列表并逐一提取映射中的值,但我想知道python是否具有相当于字典的列表切片。 最佳答案 不知道pythonic是否足够,但这是有效的:res=[(x,my_dictionary[x])forxinmy_list]这是一个listco

python - 在 Python 中使用字典代替 Case/Switch 语句

我想随机化一个初始化为完整的魔方(所有颜色都在正确的边上)。我有旋转立方体的移动功能。我想连续随机选择50个函数以适本地随机化它。我做这个项目是为了更多地了解Python,因为我主要使用C++,而且我发现Python没有case/switch,所以我正在尝试字典。当我制作字典时,代码似乎出于某种原因执行:defrandom_cube(self):scramble={0:self.up_turn(),1:self.down_turn(),2:self.left_turn(),3:self.right_turn(),4:self.front_turn(),5:self.back_turn(

python - 附加到具有字典理解的列表字典

假设我有一个很大的单词列表。例如:>>>withopen('/usr/share/dict/words')asf:...words=[wordforwordinf.read().split('\n')ifword]如果我想通过这个单词列表的首字母建立索引,这很简单:d={}forwordinwords:ifword[0].lower()in'aeiou':d.setdefault(word[0].lower(),[]).append(word)#Youcouldusedefaultdictheretoo...结果是这样的:{'a':[listof'a'words],'e':[listo

python - 将字符串列表转换为字典

我有一个list['Testsrun:1','Failures:0','Errors:0']我想把它转换成字典{'Testsrun':1,'Failures':0,'Errors':0}我该怎么做? 最佳答案 使用:a=['Testsrun:1','Failures:0','Errors:0']d={}forbina:i=b.split(':')d[i[0]]=i[1]printd返回:{'Failures':'0','Testsrun':'1','Errors':'0'}如果你想要整数,改变赋值:d[i[0]]=int(i[1])

Python-字典和集合编程技巧

hello,这里是Token_w的博客,欢迎您的到来今天主要讲解Python字典和集合在实际编程中的使用技巧整理不易,对您有所帮助,希望得到你的支持!感谢!!!目录1.如何在列表、字典、集合中根据条件筛选数据?01案例1:过滤掉列表[3,9,-1,10,20,-2,...]中的负数方法一:使用filter函数方法二:使用列表解析02案例2:筛出字典{'lisi':79,'Jin':88,'lucy':93,...}中值高于90的项03案例3:筛出集合{77,89,34,20,21...}中能被3整除的元素2.如何为元组中的每个元素命名,提高程序可读性?01方法一:定义类似与其他语言的枚举类型,

python - 在 Python 中访问嵌套的字典项

我正在尝试使用嵌套字典中的项目格式化字符串(如下)people={'Alice':{'phone':'2341','addr':'87EastlakeCourt'},'Beth':{'phone':'9102','addr':'563HartfordDrive'},'Randy':{'phone':'4563','addr':'93SW43rd'}}从上面的(简单的)字典中,我想格式化一个字符串来打印出Randy的电话分机。我可以使用以下方式访问他的所有详细信息:print("Randy'sphone#is%(Randy)s"%people)但我不确定如何深入字典以从字典中挑出电话号码

python - 如何遍历字典

In[1]:test={}In[2]:test["apple"]="green"In[3]:test["banana"]="yellow"In[4]:test["orange"]="orange"In[5]:forfruit,colourintest:....:print(fruit)....:---------------------------------------------------------------------------ValueErrorTraceback(mostrecentcalllast)in()---->1forfruit,colourintest:2p