微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将字符串输出解析为python数据结构

如何解决将字符串输出解析为python数据结构

我有这个返回字符串变量的函数

partition_ = partition(population)

这个输出"[{'3','4'},{'1','2','5','6','7','8','9'}]"

我想将此输出分配给此函数

B = nx_comm.modularity(F1,[{'3','9'}])

但是因为它是一个字符串,所以模块化函数不接受它,因为我猜是引号。 任何人都可以请帮助告诉我我该如何解决这个问题?

提前致谢。

解决方法

您需要的是将输出字符串解析为您想要的格式的函数。这是我制作的一个简单的解析器,它可以创建您需要的输出。让我知道它是否有效。

partition_ = "[{'3','4'},{'1','2','5','6','7','8','9'}]"


def custom_parser(string):

    list_of_sets = []

    temp = []

    begin_set = False

    for char in string:

        if begin_set:

            if char == '}':

                begin_set = False

                temp2 = set(temp)

                list_of_sets.append(temp2)

                temp = []

            elif char not in ['\'',',' ']:

                temp.append(char)

        if char == '{':

            begin_set = True

    return list_of_sets


new_partition_ = custom_parser(partition_)
,

试试这个

B = nx_comm.modularity(F1,[int(j)  for i in partition_ for j in i ])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。