c=['a,b,c','a,b,c','a,b']
for item in c:
a=set(item.replace("'",""))
b=list(a)
print b
它返回:
['a','b',',']
我想要的是:
['a','b','c']
如何将这些字符串转换为字符集?
答案 0 :(得分:5)
c = ['a,b,c','a,b,c','a,b']
result = set()
for item in c:
result.update(item.split(','))
print result
这就是我的所作所为:
result
的集合,以便我们可以将值存储在其中c
中的字符串,对于每个字符串,当我们看到','字符时,我们将其拆分为新的字符串列表。result
集
由于result
是一个集合,因此它不能包含同一项目的多个实例。因此,当我们调用result.update()
时,会自动忽略任何重复的条目。
如果您希望将结果排序为所需的输出,则必须执行以下操作,因为集合是无序的:
result = list(result)
result.sort()
print result
列表具有内置排序方法。因此,从集合中创建列表然后在其上调用sort()
将对列表进行排序,这意味着它不会返回任何内容,只会修改列表本身。这样做会在你的问题中为你提供['a', 'b', 'c']
。
答案 1 :(得分:4)
>>> c=['a,b,c','a,b,c','a,b']
>>> print set(unique for charlist in c for unique in charlist.split(','))
set(['a', 'c', 'b'])
答案 2 :(得分:2)
c = ['a,b,c', 'a,b,c', 'a,b']
print (set (''.join (c).replace (',', '') ) )