Python 将set()结果输出值打印到换行符中

Python 将set()结果输出值打印到换行符中,python,python-3.x,Python,Python 3.x,如何将python集合输出值打印到换行符中,而不是打印到单行列表值中 下面是我用来获取两个文件之间公共值的代码 def print_common_members(a, b): """ Given two sets, print the intersection, or "No common elements". """ print((a & b) or "No common elements") with open

如何将python集合输出值打印到换行符中,而不是打印到单行列表值中

下面是我用来获取两个文件之间公共值的代码

def print_common_members(a, b):
        """
        Given two sets, print the intersection, or "No common elements".
        """
        print((a & b) or "No common elements")

    with open('file1.txt') as file1, open('file2.txt') as file2:
        dataset1 = set(file1)
        dataset2 = set(file2)
        print_common_members(dataset1, dataset2)
下面是我用来获取数据的文件

file1.txt file2.txt 结果: 期望结果
使用
join
在集合的元素中交错换行

print('\n'.连接(a&b)或“无公共元素”)

此外,如注释所述,如果每个字符中都有换行符,则可以在空字符串上进行连接,以获得相同的结果:

print(''.join(a&b)或“无公共元素”)

或者,如果您不想处理它,您可以使用以下理解,使用换行符剥离并连接:

print('\n'.连接(a&b中s的s.strip('\n'))或“无公共元素”)

此外,所有这些都有效,因为join在没有可循环的内容时返回空字符串:

In [60]: '\n'.join(set() & set())
Out[60]: ''

python中的
False

set
有一个专用的方法来查找
交叉点。然后您可以在交叉点上迭代并打印每个元素

def print_common_members(a, b):
    """
    Given two sets, print the intersection, or "No common elements".
    """
    inter = a.intersection(b)
    if inter:   # empty sets are Falsy, non empty sets are Truthy 
        for elt in inter:
            print(elt)
    else:
        print("No common elements")
    
a = {1, 2, 3}
b = {2, 3, 4}
c = {7, 8, 9}
print_common_members(a, b)
print()
print_common_members(a, c)

输出:
您应该在空字符串上进行连接(注意,换行符不会被剥离),并且可以去掉额外的内部参数。@salparade。。它应该是print(“\n'.join(a&b))或“No common elements”)`OP在集合元素中已经有了换行符,
&
在我看来看起来更好。@Reblochon,thnx是另一种方法。迭代并打印结果。@pylang,join方法看起来比Iterate更合适。
{ 'teraform101\n', 'azure233\n', 'teraform223\n' }
teraform101
azure233
teraform223
In [60]: '\n'.join(set() & set())
Out[60]: ''
def print_common_members(a, b):
    """
    Given two sets, print the intersection, or "No common elements".
    """
    inter = a.intersection(b)
    if inter:   # empty sets are Falsy, non empty sets are Truthy 
        for elt in inter:
            print(elt)
    else:
        print("No common elements")
    
a = {1, 2, 3}
b = {2, 3, 4}
c = {7, 8, 9}
print_common_members(a, b)
print()
print_common_members(a, c)
2
3

No common elements