Python:子列表,写不带括号的子列表
我有一个x值长的列表。列表被分成不同长度的子列表,然后我获取这些子列表并将它们写入输出文件。有没有办法打印不带括号的子列表 编辑为克拉菲: 实际的列表有300个子列表,其中包含12250个元素,并且每次运行senario I时都会发生变化。显然,这是简化的。让我改变一些事情,看看这是否会改变答案 i、 e 其中输出为:Python:子列表,写不带括号的子列表,python,list,csv,brackets,Python,List,Csv,Brackets,我有一个x值长的列表。列表被分成不同长度的子列表,然后我获取这些子列表并将它们写入输出文件。有没有办法打印不带括号的子列表 编辑为克拉菲: 实际的列表有300个子列表,其中包含12250个元素,并且每次运行senario I时都会发生变化。显然,这是简化的。让我改变一些事情,看看这是否会改变答案 i、 e 其中输出为: [1, 2, 3] [4, 5, 6, 7] [8, 9, 10, 11, 12, 15] 但是我想要 1, 2, 3 4, 5, 6, 7 8, 9, 10, 11, 12,
[1, 2, 3]
[4, 5, 6, 7]
[8, 9, 10, 11, 12, 15]
但是我想要
1, 2, 3
4, 5, 6, 7
8, 9, 10, 11, 12, 15
我希望这个输出在一个新变量中,比如ListMod,这样我就可以在一个单独的函数中使用ListMod来编写一个文件。该文件还调用其他两个列表,时间和大小,其中大小指定ListMod中的行长度
这在多大程度上改变了你的答案?首先,答案:
file.write(','.join(map(repr, List))
由于多种原因,您的实际代码不可能编写您声称的代码:
- 文件的
方法会给你一个write
,如果你给它一个列表,而不是打印出来。您必须在列表中调用TypeError
或str
,才能获得可以repr
编写的内容
- 在列表中调用
或str
会在逗号和括号后加空格repr
- 您的代码中至少有一个
,它甚至会阻止您实现这一目标SyntaxError
file.write(str(List))
如果是这样,列表的\uuuu str\uuu
方法实际上是:
'[' + ', '.join(map(repr, self)) + ']'
你希望这个没有括号和空格,所以它是:
','.join(map(repr, self))
您的输出格式似乎是CSV。如果实际数据与提供的示例一样简单,那么您可以使用python的csv编写器:
import csv
with open('/tmp/myfile.txt', 'w') as f:
csv_writer = csv.writer(f)
csv_writer.writerows(List)
如果您使用的是Python 3.x或2.6以后的版本,并且不介意使用
print
作为函数:
from __future__ import print_function # ignore if on py 3.x
for line in List:
print(*line, sep=',', file=file)
顺便说一句,几乎没有什么好的理由在xrange(len(List)):foo(List[i])中为i编写
。只需对列表中的元素使用:foo(元素)
。
from __future__ import print_function # ignore if on py 3.x
for line in List:
print(*line, sep=',', file=file)
print '\n'.join(','.join(map(str, x)) for x in List)