Python 2.7 使用文本文件的内容创建新数组

Python 2.7 使用文本文件的内容创建新数组,python-2.7,Python 2.7,我是python新手 b.txt的内容是 132,21,5,63 43,21,2,3,5,2,1 基本上,我正在尝试使用文本文件上的内容创建一个新数组 我想知道为什么这个代码不起作用 x=open('b.txt','r') for line in x: a=[] b=line[0] c=0 while c+1<len(line): while line[c]!=',' and line[c+1]!=',': b=b+line[c+1] c=c

我是python新手 b.txt的内容是

132,21,5,63

43,21,2,3,5,2,1

基本上,我正在尝试使用文本文件上的内容创建一个新数组

我想知道为什么这个代码不起作用

x=open('b.txt','r')
for line in x:
 a=[]
 b=line[0]
 c=0
 while c+1<len(line):
    while line[c]!=',' and line[c+1]!=',':
        b=b+line[c+1]
        c=c+1
    a.append(int(b))
    c=c+1
print a

请帮忙,

如果我正确地理解了您的意图,那么一种更具python风格的方法是:

fileHandler=打开'b.txt','r' 列表=[] 对于fileHandler中的行: listOfLists.appendline.split, 打印列表 在您的示例中,这将产生以下结果:

[["132","21","5","63"],["43","21","2","3","5","2","1"]]

如果您想将它们全部放在一个列表中,如[132,21,5,63,43,21,2,3,5,2,1],可以将append方法与extend方法交换。

另一种代码替代方法可以是:

import re
result = []
with open("b.txt", 'r') as b_file:
    content = b_file.read()
    result = re.split(",|\n", content)
    result = = [int(r) for r in result if r!='']
print result

在第[c]!=','行中和第[c+1]行!=',':,行[c+1]!=','这就足够了。换句话说,行[c]!=','没有必要。我想把它分成两个数组,然后把字符串转换成整数?我应该怎么做呢?因为您有字符串数组,所以可以像在数组中的for元素那样迭代数组,使用int方法将每个元素转换为整数。