Python:如何将集合中的条目连接成一个字符串?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python:如何将集合中的条目连接成一个字符串?相关的知识,希望对你有一定的参考价值。

基本上,我试图将一组中的条目连接在一起以输出一个字符串。我试图使用类似于列表的连接函数的语法。这是我的尝试:

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是一个字符串方法,而不是set方法。

另一答案

集合没有join方法,但您可以使用str.join代替。

', '.join(set_3)

str.join方法适用于任何可迭代对象,包括列表和集合。

注意:在包含整数的集合上使用它时要小心;在调用join之前,您需要将整数转换为字符串。例如

set_4 = {1, 2}
', '.join(str(s) for s in set_4)
另一答案

在字符串上调用join

print ", ".join(set_3)
另一答案

也不是setlist有这样的方法join,字符串有它:

','.join(set(['a','b','c']))

顺便说一下,你不应该使用名称list作为变量。给它一个list_my_list或其他一些名字,因为list经常使用python函数。

另一答案

Set没有订单 - 因此当您将列表转换为集合时,您可能会丢失订单,即:

>>> orderedVars = ['0', '1', '2', '3']
>>> setVars = set(orderedVars)
>>> print setVars
('4', '2', '3', '1')

一般来说,订单仍然存在,但对于大型订单,几乎肯定不会。

最后,只是因为人们想知道,你在加入时不需要','。

只是:''。join(set)

:)

另一答案

我想你只是倒退了。

print ", ".join(set_3)
另一答案

你有向后的join语句尝试:

print ', '.join(set_3)
另一答案

我写了一个处理以下边缘情况的方法:

  • 设置大小一。一个", ".join({'abc'})将返回"a, b, c"。我想要的输出是"abc"
  • 设置包括整数。
  • 空集应该返回""
def set_to_str(set_to_convert, separator=", "):
        set_size = len(set_to_convert)
        if not set_size:
            return ""
        elif set_size == 1:
            (element,) = set_to_convert
            return str(element)
        else:
            return separator.join(map(str, set_to_convert))

以上是关于Python:如何将集合中的条目连接成一个字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何将两个整数连接成一个字符串(python)?

如何在python中把一个set转化成另外一个list的名称?

在python中,如何将一个字符串中的小写字母全部转换为大写?

如何将多行中的文本连接成SQL服务器中的单个文本字符串String?

Python:如何将列中只有数字分量的字符串条目转换为整数? [复制]

如何防止 Jquery 可排序连接列表中的重复条目?