【问题标题】:Conversion of string representation of a set into a set将集合的字符串表示形式转换为集合
【发布时间】:2017-04-09 13:07:30
【问题描述】:

给定(在 Python 2.7 中)..

myString='{hello,world}'

如何将上述内容转换为set object {'hello', 'world'}

我尝试了eval(myString),但它抛出了NameError: name 'hello' is not defined

我尝试了ast.literal_eval(myString),但它抛出了ValueError: malformed string

谢谢!

【问题讨论】:

    标签: string python-2.7 set representation


    【解决方案1】:

    看起来你很接近。如果你在单个元素周围加上引号,你可以使用 Python 的eval

    >>> myString = "{'hello','world'}"
    >>> eval(myString)
    {'world', 'hello'}
    

    【讨论】:

      【解决方案2】:

      在java中你可以这样做:

      1. 首先,如果 myString 总是以 "{" 开头并以 "}" 结尾,那么您首先通过子字符串删除那些。

        String myString = "{hello,world}"; String myStringFixed = myString.substring(1, myString.length() - 1);

      myStringFixed 现在的输出将是“hello,world”

      1. 通过拆分将字符串转换为数组。

        String[] arrayOfStrings = myStringFixed.split(",");

      arrayOfStrings 的输出将是 ["hello", "world"];

      1. 现在您可以通过运行循环来通过该数组创建一个集合并将这些元素添加到集合中。

        设置 stringSet = new HashSet();

        for(int i = 0; i

      【讨论】:

      • 啊抱歉之前没有提到,但我实际上是在 python 中编码。我明白你在做什么 - 列表切片以提取重要部分并将它们重新组合在一起,我会在 python 中解决类似的问题!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-30
      • 1970-01-01
      相关资源
      最近更新 更多