我有一个列表,其条目类似于以下内容:
[('sw1', 'sw2'), ('sw1', 'sw3'), ('sw1', 'sw4'), ('sw2', 'sw3'), ('sw2', 'sw4'), ('sw3', 'sw4')]
我想将元组转换为字符串并将它们打印在各行上,以便将它们作为参数传递给另一个程序:
(sw1 , sw2)\n
(sw1 , sw3)\n
(sw1 , sw4)\n
(sw2 , sw3)\n
(sw2 , sw4)\n
(sw3 , sw4)\n
我尝试了strip()
和split()
,但这些似乎不支持元组。我假设我需要一些正则表达式来完成我正在尝试做的事情,但即便如此,我也不确定要处理,
的潜在字段分隔符在...之内和之间的事实。元组。任何指针都非常感谢。我老了,只是想学习编程。
答案 0 :(得分:2)
>>>li = [('sw1', 'sw2'), ('sw1', 'sw3'), ('sw1', 'sw4'), ('sw2', 'sw3'), ('sw2', 'sw4'), ('sw3', 'sw4')]
>>> print "\n".join([str(item) for item in li])
('sw1', 'sw2')
('sw1', 'sw3')
('sw1', 'sw4')
('sw2', 'sw3')
('sw2', 'sw4')
('sw3', 'sw4')
另一种方式
>>> print "\n".join(["%s" %(item,) for item in li])
('sw1', 'sw2')
('sw1', 'sw3')
('sw1', 'sw4')
('sw2', 'sw3')
('sw2', 'sw4')
('sw3', 'sw4')
答案 1 :(得分:1)
您可以按如下方式使用字符串格式:
a = [('sw1', 'sw2'), ('sw1', 'sw3'), ('sw1', 'sw4'), ('sw2', 'sw3'), ('sw2', 'sw4'), ('sw3', 'sw4')]
for i in a:
print('({:}, {:})'.format(*i))
# (sw1, sw2)
# (sw1, sw3)
# (sw1, sw4)
# (sw2, sw3)
# (sw2, sw4)
# (sw3, sw4)
这不会改变你的元组本身,但会根据你的意愿格式化它们的打印。代码只是遍历您的列表并打印具有给定格式的元组。字符串format
方法已涵盖here。
答案 2 :(得分:0)
你可以显式地将元组转换为字符串(这完全按照你的意愿工作) - 最后将它们与分隔符一起连接到你想要的输出中的元组之间:
>>> lst_tups = [('sw1', 'sw2'), ('sw1', 'sw3'), ('sw1', 'sw4'), ('sw2', 'sw3'), ('sw2', 'sw4'), ('sw3', 'sw4')]
>>> my_string = '\n '.join([str(t) for t in lst_tups])
>>> my_string
"('sw1', 'sw2')\n ('sw1', 'sw3')\n ('sw1', 'sw4')\n ('sw2', 'sw3')\n ('sw2', 'sw4')\n ('sw3', 'sw4')"
然后您可以轻松输出如下;只需将其打印出来:
>>> print(my_string)
('sw1', 'sw2')
('sw1', 'sw3')
('sw1', 'sw4')
('sw2', 'sw3')
('sw2', 'sw4')
('sw3', 'sw4')