OrderedDict中的元组

时间:2017-01-06 05:02:25

标签: python ordereddictionary

我有以下OrderedDict

activities = OrderedDict([('eating',(1,False)),('drinking',(2,True)),('breathing',(3,True)),('talking',(4,False)),('walking',(5,False))])

我希望能够运行一个函数来反转特定条目的True / False部分。

到目前为止,我有以下内容:

def updateactivity(activity):
    activities = OrderedDict([(k, (1,False)) if k == activity else (k, v) for k, v in activities.items()])

将值切换为False的效果很好。 是否有更优雅的方法可以简单地反转任一方向的真/假?

1 个答案:

答案 0 :(得分:0)

将每个项目的值解包为两个变量/名称,然后使用 .body{margin:0 auto;width:100%;clear:both;} .topPart{background-color:#7FFFD4;height:220px;width:1264px;margin:0px 0px 0px 0px;overflow: visible;} .topPart ul li {position: relative;list-style:none;float:left;display:inline;} .imgOne{height: 120px;width: 120px;border-radius:60px; border-style:solid;border-color:white;margin:-25px 30px 0px -5px;position: relative;} .imgOne:hover{border-radius:5%;height: 120px;} .imgTwo{height: 120px;width: 120px;border-radius:60px;border-style:solid;border-color:white;position: relative;} 重新构建。

not

d = collections.OrderedDict()
for k, (a,b) in activities.items():
    d[k] = (a, not b)