如何在python中将单个字符串和多个字符串转换为有效的set()?

如何在python中将单个字符串和多个字符串转换为有效的set()?,python,python-3.x,string,type-conversion,set,Python,Python 3.x,String,Type Conversion,Set,假设我从文件中读取了以下字符串: s1 = "{'XXX-YYY'}" s2 = "{'XXX-YYY', 'XXX-ZZZ', 'XXX-AAA', 'XXX-BBB'}" 我想将两个字符串都转换为有效集。我试过这个: s1 = {s1} s2 = set((s2, )) 结果显然不是有效集(): 应该是: {'XXX-YYY'} {'XXX-YYY', 'XXX-ZZZ', 'XXX-AAA', 'XXX-BBB'} 我如何才能做到这一点?试试这

假设我从文件中读取了以下字符串:

s1 = "{'XXX-YYY'}"
s2 = "{'XXX-YYY', 'XXX-ZZZ', 'XXX-AAA', 'XXX-BBB'}"
我想将两个字符串都转换为有效集。我试过这个:

s1 = {s1}
s2 = set((s2, ))
结果显然不是有效集():

应该是:

{'XXX-YYY'}
{'XXX-YYY', 'XXX-ZZZ', 'XXX-AAA', 'XXX-BBB'}
我如何才能做到这一点?

试试这个:

s1=s1.replace('{', '').replace('}', '').replace("'", '')
s1=[k.strip() for k in s1.split(',')]
s1=set(s1)

s2=s2.replace('{', '').replace('}', '').replace("'", '')
s2=[k.strip() for k in s2.split(',')]
s2=set(s2)

print(s1)

{'XXX-YYY'}

print(s2)

{'XXX-YYY', 'XXX-AAA', 'XXX-BBB', 'XXX-ZZZ'}
试试这个:

s1=s1.replace('{', '').replace('}', '').replace("'", '')
s1=[k.strip() for k in s1.split(',')]
s1=set(s1)

s2=s2.replace('{', '').replace('}', '').replace("'", '')
s2=[k.strip() for k in s2.split(',')]
s2=set(s2)

print(s1)

{'XXX-YYY'}

print(s2)

{'XXX-YYY', 'XXX-AAA', 'XXX-BBB', 'XXX-ZZZ'}

这将创建一个集合:

def string2set(string):
    unwanted = "{}'"
    for char in unwanted:
        string = string.replace(char, "")
    list = string.split(",")
    return set(list)

s1 = "{'XXX-YYY'}"
s2 = "{'XXX-YYY', 'XXX-YYY', 'XXX-YYY', 'XXX-YYY'}"

s1_set = string2set(s1)
s2_set = string2set(s2)
s1_集={'XXX-YYY'}

s2_集={'XXX-YYY','XXX-YYY','XXX-YYY','XXX-YYY'}


这将创建一个集合:

def string2set(string):
    unwanted = "{}'"
    for char in unwanted:
        string = string.replace(char, "")
    list = string.split(",")
    return set(list)

s1 = "{'XXX-YYY'}"
s2 = "{'XXX-YYY', 'XXX-YYY', 'XXX-YYY', 'XXX-YYY'}"

s1_set = string2set(s1)
s2_set = string2set(s2)
s1_集={'XXX-YYY'}

s2_集={'XXX-YYY','XXX-YYY','XXX-YYY','XXX-YYY'}


您的第二组无效,它将只保留“XXX-YYY”一次。这是你想要的吗?如果你想保留所有类似的项目,你必须创建一个列表对不起,我刚刚添加了一个错误的例子,现在应该可以了。我的问题显然是字符串处理。您的第二个集合无效,它将只保留“XXX-YYY”一次。这是你想要的吗?如果你想保留所有类似的项目,你必须创建一个列表对不起,我刚刚添加了一个错误的例子,现在应该可以了。我的问题显然是字符串处理。