我正在尝试打印出不带方括号的元组列表,同时在元组周围保持括号。
例如,而不是输出(当前输出):
[('1', '3'), ('1', '4'), ('2', '3'), ('2', '4')]
输出应为:
(1, 3) (1, 4) (2, 3) (2, 4)
下面的当前源代码。
from itertools import product
if __name__ == '__main__':
input_lists = []
num_loops = int(input())
i = 0
while i < num_loops:
add_to_list = input()
input_lists.append(add_to_list.split(" "))
i += 1
result = ([i for i in product(*input_lists)])
print(''.join(str(result)))
答案 0 :(得分:3)
列表理解php
和str.format
:
str.join
答案 1 :(得分:2)
我建议进行int
转换,然后解压:
>>> from __future__ import print_function # for Python 2
>>> lst = [('1', '3'), ('1', '4'), ('2', '3'), ('2', '4')]
>>> print(*[tuple(map(int,t)) for t in lst])
(1, 3) (1, 4) (2, 3) (2, 4)
答案 2 :(得分:1)
print(' '.join([str(int(i for i in tup)
for tup in list_of_tuples]))
在元组上调用str()
确实会产生元组本身,因此我只对列表中的每个项目执行了此操作。我还需要将元组中的每个项目都设为一个整数,因此我还对每个元组中的每个项目执行了int()
。 ' '.join()
方法将由单个空格传入的可迭代项中的所有项目分开。所以...我传入了一个列表解析,它对列表中的每个项目执行str()
。
答案 3 :(得分:0)
具有类似数组
x = [('1', '3'), ('1', '4'), ('2', '3'), ('2', '4')]
您可以简单地做:
l = [(int(x),int(y)) for x,y in l]
print(*l)
其输出类似于
output//(1, 3) (1, 4) (2, 3) (2, 4)
答案 4 :(得分:0)
这是我的看法:
print(' '.join([str(tuple(map(int, i))) for i in L]))
几点:
tuple
与map
结合使用,将值从str
转换为int
。str.join
是传递列表比生成器理解更有效的少数实例之一。答案 5 :(得分:0)
您可以打开列表包装。
lst = [(1, 2), (3, 4)]
print(*lst)
输出:
(1, 2) (3, 4)