首页 > 解决方案 > 添加以设置拆分字符串的元素

问题描述

我以字符串形式接收值,以逗号分隔。例子:

alpha, gane, delta
delta, opsirom, nado     

我想获得一个列表/一组唯一值,排序。我正在尝试使用一组唯一性:

app = set()
for r in result:
            app = app | set(r.split[","])

但我收到以下错误:

TypeError: 'builtin_function_or_method' object is not subscriptable

标签: python

解决方案


如果我正确理解您的输入并且split如您所说的唯一性,我将使用两者之间的混合:replaceset

value_1 = "alpha, gane, delta, alpha"
aux_1 = value_1.replace(" ","").split(",")
a = list(set(aux_1))
print(a)
#Another list formatted as string arrives:
value_2 = "alpha, beta, omega, beta"
aux_2 = value_2.replace(" ","").split(",")

#Option 1:
a += list(set(aux_2))
a = list(set(a))
print(a)

#Option 2:
for i in aux_2:
    if i in a:
        pass
    else:
        a.append(i)
print(a)

两种情况的输出:

['delta', 'gane', 'omega', 'beta', 'alpha']

收到另一个字符串后,您可以将值添加到完整列表中,在这种情况下aset()再次使用以消除进一步的重复。或者如果字符串中的值是完整列表,则检查每个单独的值,in如果不是,则附加它,或者如果它已经存在于完整列表中,则跳过。


推荐阅读