Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.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_Arrays_Django - Fatal编程技术网

python中解析数组的一些问题

python中解析数组的一些问题,python,arrays,django,Python,Arrays,Django,例如,我有两个数组,第一个可以是: self.history = [[1, 15, 12, 51], [15, 5, 12, 4]] 第二点: date = ["10.11.2014", "11.11.2014", "12.11.2014", "13.11.2014"] 我需要输出以下类型的格式: ""10.11.2014,1,15\n" + "11.11.2014,15,5\n" + "12.11.2014,12,12\n" + "13.11.2014,51,4\n"" 我已经实现了这个

例如,我有两个数组,第一个可以是:

self.history = [[1, 15, 12, 51], [15, 5, 12, 4]]
第二点:

date = ["10.11.2014", "11.11.2014", "12.11.2014", "13.11.2014"]
我需要输出以下类型的格式:

""10.11.2014,1,15\n" + "11.11.2014,15,5\n" + "12.11.2014,12,12\n" + "13.11.2014,51,4\n""
我已经实现了这个结果一次,但重新启动后,它不再工作了

以下是相关的代码片段:

        zips = zip(*self.history)
        zips2 = zip(date_arr, zips)
        print zips2
        zips = ['"{},{}\\n" + '.format(a, ','.join(b)) for a, b in zips2]
        for i in zips:
                returning = returning + i
        print returning
        self.history = returning
        return self.history
返回以下错误(在django中):“序列项0:预期字符串,找到int”。
导致错误的原因是什么?

问题在本部分
zips2中a、b的联接(b)
。联接(b)失败,因为b是
int
s的列表。在调用
join
之前,需要将此
int
s列表转换为
string
s列表

将此更改为:
join((str(i)表示b中的i))表示zips2中的a和b,它应该可以工作

以下是我的答案:

history = [[1, 15, 12, 51], [15, 5, 12, 4]]
date = ["10.11.2014", "11.11.2014", "12.11.2014", "13.11.2014"]
result = []
for k, v in zip(date, zip(*history)):
    result.append('%s,%s\n' % (k, ','.join([str(a) for a in v])))

print result

问题就在这一部分中,zips2中的a,b的连接(b)
。联接(b)失败,因为b是
int
s的列表。在调用
join
之前,需要将此
int
s列表转换为
string
s列表

将此更改为:
join((str(i)表示b中的i))表示zips2中的a和b,它应该可以工作

以下是我的答案:

history = [[1, 15, 12, 51], [15, 5, 12, 4]]
date = ["10.11.2014", "11.11.2014", "12.11.2014", "13.11.2014"]
result = []
for k, v in zip(date, zip(*history)):
    result.append('%s,%s\n' % (k, ','.join([str(a) for a in v])))

print result


[“{},{}.格式化(d,”,“.join([str(v)表示h中的v])表示d,h在zip(date,zip(*self.history))--您可以“.只连接strings@kAlmAcetA我已经删除了我的帖子,而不是你的(因为你的Pythic更多),请考虑把它变成一个答案。[{{},{} ]。(*self.history))--您可以“”。只加入strings@kAlmAcetA,我删除了我的帖子,取而代之的是你的(因为你的帖子更像蟒蛇)请考虑把它变成一个答案。+ 1:从目前的列表中最好的,因为它正确地使用了 zip 2个参数的功能,也是最可读的。如果使用Python 2,则使用来自ItRealToX模块的Izip。X. + 1:到目前为止最好,因为它正确地使用了<代码> zip < /代码>的功能。如果您使用的是Python 2.X,请使用itertools模块中的izip。
>>> [ ",".join(map(str,x))+'\n' for x in zip(date,*history) ]
['10.11.2014,1,15\n', '11.11.2014,15,5\n', '12.11.2014,12,12\n', '13.11.2014,51,4\n']
>>> " + ".join([ "\""+",".join(map(str,x))+"\n\"" for x in zip(date,*history) ])
'"10.11.2014,1,15\n" + "11.11.2014,15,5\n" + "12.11.2014,12,12\n" + "13.11.2014,51,4\n"'