打印列表中的列表,不带括号
这里有个类似的问题,但之前的回答对我没有帮助。
我有一个列表的列表,具体来说是这样的……
[[tables, 1, 2], [ladders, 2, 5], [chairs, 2]]
这个列表是用来简单索引的。
我想把它输出成这样:
tables 1, 2
ladders 2, 5
chairs 2
但是我输出不出这个结果。
不过我能得到:
tables 1 2
ladders 2 5
chairs 2
但这个结果离我想要的还差得远。
有没有简单的方法可以实现我想要的?这部分不应该是程序中最难的部分。
6 个回答
1
在Python 3.4.x版本中
下面的代码可以实现这个功能:
for item in l:
print(str(item[0:])[1:-1])
这里的l就是你的列表。
对于你的输入,这段代码会输出:
tables 1, 2
ladders 2, 5
chairs 2
还有一种(更简洁的)方法可以这样写:
for item in l:
value_set = str(item[0:])
print (value_set[1:-1])
这也会得到相同的输出:
tables 1, 2
ladders 2, 5
chairs 2
希望这对遇到这个问题的人有所帮助。
3
如果你不介意输出结果在不同的行上:
foo = [["tables", 1, 2], ["ladders", 2, 5], ["chairs", 2]]
for table in foo:
print "%s %s" %(table[0],", ".join(map(str,table[1:])))
要把这些内容放在同一行上就稍微有点难了:
import sys
foo = [["tables", 1, 2], ["ladders", 2, 5], ["chairs", 2]]
for table in foo:
sys.stdout.write("%s %s " %(table[0],", ".join(map(str,table[1:]))))
print
9
下面的代码可以实现这个功能:
for item in l:
print item[0], ', '.join(map(str, item[1:]))
这里的 l
就是你的列表。
对于你的输入,这段代码会输出:
tables 1, 2
ladders 2, 5
chairs 2