迭代行列表并拆分

2024-10-01 09:19:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图遍历一个列表,然后拆分行,以便对拆分中的特定元素执行一个函数。 我想要的是这样的东西——因此我可以通过postilion x[2]=220获取每个元素

['2', '325', '220', '1.0']

我得到的是这个(按角色划分)

for row in range(len(pln)):
            for j in range(len(pln[row])):
                print( pln[row][j], end="")
                x = [pln[row][j].split()]
                print (x)

2[['2']]
 [['', '']]
3[['3']]
2[['2']]
5[['5']]
 [['', '']]
2[['2']]
2[['2']]
0[['0']]
 [['', '']]
1[['1']]
.[['.']]
0[['0']]

[['\n']]

pln = (before iteration as list)
['2 325 220 1.0\n', '2 600 200 3.3\n', '2 325 100 3.3\n', '2 600 120 5.5\n', '2 600 125 5.5\n', '2 325 100 3.4']

pln = (after iteration)
2 325 220 1.0
2 600 200 3.3
2 325 100 3.3
2 600 120 5.5
2 600 125 5.5
2 325 100 3.4

Tags: 函数in元素角色列表forlenrange
3条回答

这段代码将把单个字符存储在new_list
这是我从您的问题中了解到的全部内容,如果还有其他问题的话

given_list = ['2','325','220','1.0']
new_list = list()
length = len(given_list)
for i in range(length):
    for j in given_list[i]:
        new_list.append(j)
    if i+1 != length:
        new_list.append(",")
print(new_list)

输出:['2', ',', '3', '2', '5', ',', '2', '2', '0', ',', '1', '.', '0']

进行拆分时停止打印。列拆分后打印

pln = ['2 325 220 1.0\n', '2 600 200 3.3\n', '2 325 100 3.3\n', '2 600 120 5.5\n', '2 600 125 5.5\n', '2 325 100 3.4']
rows = [line.split() for line in pln]

for row in rows:
    print('\t'.join(row))

然后可以通过索引访问每一行

second_row = rows[1]

然后按索引访问每一列

third_column = second_row[2]

以下是一个解决方案:

lst = ['2 325 220 1.0\n', '2 600 200 3.3\n', '2 325 100 3.3\n', '2 600 120 5.5\n', '2 600 125 5.5\n', '2 325 100 3.4']
result_list = []
for i in lst: 
    k = i.split()
    result_list.append(k)
print(result_list)
#Output: 
[['2', '325', '220', '1.0'], ['2', '600', '200', '3.3'], ['2', '325', '100', '3.3'], ['2', '600', '120', '5.5'], ['2', '600', '125', '5.5'], ['2', '325', '100', '3.4']]

您可以访问以下元素:

#result_list[row_number][element index]
print(result_list[2][3]) #fourth element in third row  
#Output
3.3

您可以迭代所有行,如:

for row in result_list: 
    print(row)

#Output:
['2', '325', '220', '1.0']
['2', '600', '200', '3.3']
['2', '325', '100', '3.3']
['2', '600', '120', '5.5']
['2', '600', '125', '5.5']
['2', '325', '100', '3.4']

您可以迭代任何列,如:

for row in result_list: 
    print(row[1]) #This will give second column

#Output:
325
600
325
600
600
325

相关问题 更多 >