有条件地添加到字典中而不更新元组值

安格斯·康伯

下面的函数append将一对不可变元组作为参数。在追加的处理中,必须将所有值都用单引号和结束引号引起来。因为元组值是不可变的,所以我不能简单地这样做:

if item[1][0] != "'" and item[1][-1] != "'":
    item[1] = "'{0}'".format(item[1])

 self.keyvalues[item[0]] = item[1]

因此处理如下:

if item[1][0] != "'" and item[1][-1] != "'":
    self.keyvalues[item[0]] = "'{0}'".format(item[1])
else:
    self.keyvalues[item[0]] = item[1]

完整的代码显示在下面。

是否有更优雅的方法将键和值添加到字典中。

class section(object):
    """class to hold a section. name is name of section. keyvalues is a key
     value dictionary of keys and values"""
    def __init__(self, name):
        self.name = name
        self.keyvalues = {}
        print "Constructed section:", name

    def append(self, item):
        """add a key value pair to section"""
        if len(item) != 2:
            return False
        else:
            print "adding:", item, "to", self.name, "object"

            # cannot do this because tuple is immutable
            #item[1] = "'{0}'".format(item[1])

            # Would there be a more elegant way of doing this - given that
            #  parameter must be a immutable tuple?
            if item[1][0] != "'" and item[1][-1] != "'":
                self.keyvalues[item[0]] = "'{0}'".format(item[1])
            else:
                self.keyvalues[item[0]] = item[1]
            return True

    def __repr__(self):
        s = "contains\n"
        for k, v in self.keyvalues.iteritems():
            s += "\t{0}={1}\n".format(k, v)
        return s

    __str__ = __repr__    


mysection = section("section1")
dnpair = ("key1", "value1")
mysection.append(dnpair)

print mysection
羊皮纸

由于不再使用元组,因此只需将其拆分为单独的变量即可。

key, value = item

if value[0] != "'" and value[-1] != "'":
    value = "'{0}'".format(value)

self.keyvalues[key] = value

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有条件地将值添加到新列并替换R中的条件列中的值

来自分类Dev

有条件地将第二个字典中的字典条目添加到新字典中,同时保留新的字典键

来自分类Dev

有条件地添加到jQuery .when

来自分类Dev

有条件地添加到地图

来自分类Dev

有条件地插入新行并将值添加到R中的新行

来自分类Dev

有条件地对元组列表中的值求和

来自分类Dev

有条件地对元组列表中的值求和

来自分类Dev

有条件地将列和值添加到Spark Rows

来自分类Dev

有条件地将键/值对添加到对象的最佳方法是什么

来自分类Dev

有条件地将JSF组件添加到翻译字符串中

来自分类Dev

Scala:将项目添加到序列中或有条件地合并序列

来自分类Dev

有条件地将12小时添加到列中

来自分类Dev

有条件地将JSF组件添加到翻译字符串中

来自分类Dev

有条件地将列添加到 dplyr R 中的 groupby

来自分类Dev

如何根据python字典的键和值有条件地将数据添加到Excel文件中的列,同时保持其他列一致

来自分类Dev

如何有条件地将新的XElement添加到wpf中的现有根元素中?

来自分类Dev

如何有条件地将新的XElement添加到wpf中的现有根元素中?

来自分类Dev

有效的方式来有条件地将项目添加到HashMap中

来自分类Dev

有条件地将前缀添加到逗号分隔的字符串中的令牌

来自分类Dev

有条件地将RouterLink或其他属性指令添加到Angular 2中的元素

来自分类Dev

如何基于预定的数据设置有条件地将变量添加到Pyomo约束中

来自分类Dev

有条件地将数组作为变量添加到另一个数组中

来自分类Dev

有条件地使用as3中的项目渲染器将图像添加到datagrid

来自分类Dev

如何有条件地将属性添加到 Neo4j 中的 CSV 关系

来自分类Dev

有条件地将字符添加到 Pandas DataFrame 中字符串的开头

来自分类Dev

jq 1.5 有条件地将 json 文件添加到 Main json 文件中

来自分类Dev

有条件地将文件添加到C ++项目中的库

来自分类Dev

MATLAB查找数组元素并有条件地添加到常量

来自分类Dev

有条件地在Rails中将一个类添加到link_to

Related 相关文章

  1. 1

    有条件地将值添加到新列并替换R中的条件列中的值

  2. 2

    有条件地将第二个字典中的字典条目添加到新字典中,同时保留新的字典键

  3. 3

    有条件地添加到jQuery .when

  4. 4

    有条件地添加到地图

  5. 5

    有条件地插入新行并将值添加到R中的新行

  6. 6

    有条件地对元组列表中的值求和

  7. 7

    有条件地对元组列表中的值求和

  8. 8

    有条件地将列和值添加到Spark Rows

  9. 9

    有条件地将键/值对添加到对象的最佳方法是什么

  10. 10

    有条件地将JSF组件添加到翻译字符串中

  11. 11

    Scala:将项目添加到序列中或有条件地合并序列

  12. 12

    有条件地将12小时添加到列中

  13. 13

    有条件地将JSF组件添加到翻译字符串中

  14. 14

    有条件地将列添加到 dplyr R 中的 groupby

  15. 15

    如何根据python字典的键和值有条件地将数据添加到Excel文件中的列,同时保持其他列一致

  16. 16

    如何有条件地将新的XElement添加到wpf中的现有根元素中?

  17. 17

    如何有条件地将新的XElement添加到wpf中的现有根元素中?

  18. 18

    有效的方式来有条件地将项目添加到HashMap中

  19. 19

    有条件地将前缀添加到逗号分隔的字符串中的令牌

  20. 20

    有条件地将RouterLink或其他属性指令添加到Angular 2中的元素

  21. 21

    如何基于预定的数据设置有条件地将变量添加到Pyomo约束中

  22. 22

    有条件地将数组作为变量添加到另一个数组中

  23. 23

    有条件地使用as3中的项目渲染器将图像添加到datagrid

  24. 24

    如何有条件地将属性添加到 Neo4j 中的 CSV 关系

  25. 25

    有条件地将字符添加到 Pandas DataFrame 中字符串的开头

  26. 26

    jq 1.5 有条件地将 json 文件添加到 Main json 文件中

  27. 27

    有条件地将文件添加到C ++项目中的库

  28. 28

    MATLAB查找数组元素并有条件地添加到常量

  29. 29

    有条件地在Rails中将一个类添加到link_to

热门标签

归档