Python:如何将一个集合中的条目join到一个string中?
基本上,我试图将一个集合中的条目连接在一起,以便输出一个string。 我正在尝试使用与列表的联接function类似的语法。 这是我的尝试:
list = ["gathi-109","itcg-0932","mx1-35316"] set_1 = set(list) set_2 = set(["mx1-35316"]) set_3 = set_1 - set_2 print set_3.join(", ")
但是我得到这个错误: AttributeError: 'set' object has no attribute 'join'
什么是同等要求集?
', '.join(set_3)
join是一个string方法,而不是一个set方法。
集合没有join方法,但可以使用str.join 。
', '.join(set_3)
str.join方法可以处理任何可迭代的对象,包括列表和集合。
注意:在包含整数的集合上使用它要小心; 您将需要在join调用之前将整数转换为string。 例如
set_4 = {1, 2} ', '.join(str(s) for s in set_4)
join在string上被调用:
print ", ".join(set_3)
也没有set也没有list有这样的方法join ,string有:
','.join(set(['a','b','c']))
顺便说一下,你不应该使用你的variables名称list 。 给它一个list_ , my_list或者其他一些名字,因为list是很经常用到的python函数。
Set没有订单 – 所以当你将列表转换成集合时,你可能会失去你的订单,即:
>>> orderedVars = ['0', '1', '2', '3'] >>> setVars = set(orderedVars) >>> print setVars ('4', '2', '3', '1')
一般来说,订单将保持不变,但对于大集合,几乎肯定不会。
最后,让人们想知道,在连接中你不需要','。
只是:''。join(设置)
🙂
我想你只是倒退了。
print ", ".join(set_3)
你有join声明向后尝试:
print ', '.join(set_3)