我在Python中被称为新手.我对列表有困难.我有一个循环,从文本文件中获取一些信息并通过函数.如果textfiles lenght是10行,则输出将是10个单独的列表,如:[0.45] [0.87] ......依此类推,n + 1次(取决于textfile的长度).
如何将它们放入单个列表中,如[0.45,0.87,...]?我尝试了不同的循环,但没有:(
我以前很感谢:) ..并且对我糟糕的英语不好意思
码:
from pyfann import libfann
import os
path="."
ext = ".net"
files = [file for file in os.listdir(path) if file.lower().endswith(ext)]
for j in files:
ann = libfann.neural_net()
ann.create_from_file(j)
print j
f=open('nsltest1.dat','r')
for i in f:
x=i.strip()
y=[float(i) for i in x.split()]
z=ann.run(y)
print z
Run Code Online (Sandbox Code Playgroud) 我正在尝试将参数列表传递给我创建的函数。
def pdftotext(params=[], layout='-layout'):
cmd = ['pdftotext', params, '-layout']
return cmd
Run Code Online (Sandbox Code Playgroud)
这就是我所说的:
text = pdftotext(params=['-f', '1', '-l', '2'])
return text
Run Code Online (Sandbox Code Playgroud)
生成如下:
[
"pdftotext",
[
"-f",
"1",
"-l",
"2"
],
"-",
"-layout"
]
Run Code Online (Sandbox Code Playgroud)
但是,您可以看到,[]
在params=[]
传递的地方添加了额外的内容。
我尝试将参数转换为字符串,例如:
params = ','.join(params)
Run Code Online (Sandbox Code Playgroud)
但这也不起作用,因为它只是连接了每个参数,并用逗号将其分隔开。
如何在不创建重复列表的情况下将一组不同的参数传递给函数?
我有一些将结果对象附加到列表的 python 代码。
objs = []
objs.append(results['Contents'])
Run Code Online (Sandbox Code Playgroud)
如果我打印results['Contents']
,它看起来像这样:
[
{
"id": 1,
"name", "joe"
},
{
"id": 2,
"name", "jane"
},
{
"id": 3,
"name", "john"
}
]
Run Code Online (Sandbox Code Playgroud)
但是,当我打印时objs
,它看起来像这样 - 正如您所看到的,它现在是列表中的一个列表:
[
[
{
"id": 1,
"name", "joe"
},
{
"id": 2,
"name", "jane"
},
{
"id": 3,
"name", "john"
}
]
]
Run Code Online (Sandbox Code Playgroud)
这开始给我带来问题,因为我开始循环并附加更多对象(结构类似于results['Contents']
),如下所示:
objs.append(l_objs['Contents'])
Run Code Online (Sandbox Code Playgroud)
当我最终得到这样的结果时:
[
[
{
"id": 1,
"name", "joe"
},
{
"id": 2,
"name", "jane"
},
{
"id": 3,
"name", …
Run Code Online (Sandbox Code Playgroud) 我有两个清单 -
lst1 = ["apple", "orange", "banana"]
lst2 = ["cherry", "grape", "pear"]
Run Code Online (Sandbox Code Playgroud)
我想按照这个顺序打印 -
apple
orange
banana
cherry
grape
pear
Run Code Online (Sandbox Code Playgroud)
我如何在1 for循环中执行此操作?
编辑:澄清我的问题 - 我不想将这两个列表添加到第三个列表然后打印.我可以直接在一个for循环中完成吗?