Python 将set()结果输出值打印到换行符中
如何将python集合输出值打印到换行符中,而不是打印到单行列表值中 下面是我用来获取两个文件之间公共值的代码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
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