Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:子列表,写不带括号的子列表_Python_List_Csv_Brackets - Fatal编程技术网

Python:子列表,写不带括号的子列表

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,

我有一个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, 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)