繁体   English   中英

Python中的2D矩阵

[英]2D Matrix in Python

我有一个输入是形式的要求

3 3

ABB

BAA

AAA级

输入的第一行分别指示行数(3)和列数(3)。 下面的线表示输入字符串,它构成3 * 3矩阵。

我尝试使用Dictionary创建它并能够实现,但是使用了Dictionary正确的方法或最有效的方法。 还有其他方法可以创建这种形式的2D矩阵吗?

使用清单:

print "Enter the value of row:"
r = input()
print "Enter the value of column:"
c = input()

m=[]
for i in xrange(r):
    m.append([])
    for j in xrange(c):
        m[i].append(raw_input())
print m

输入和输出:输入行的值:2输入列的值:2 ABB AAA BBB CCC
[['ABB','AAA'],['BBB','CCC']

输入和输出:输入行的值:2输入列的值:2 ABB AAA BBB CCC
[['ABB','AAA'],['BBB','CCC']

我需要这样的形式:

[[A,B,B],[A,A,A],[B,B,B],[C,C,C]]

以下代码为上述数据创建一个二维列表。

f = open("data.txt")
rows_count, cols_count = f.readline().split()
line_count = 0 
list2D = []
while line_count < int(rows_count):
    line = f.readline().strip().strip("\n")
    if len(line) == 0:
        # blank line
        continue
    row = list(line)[0:int(cols_count)]
    list2D.append(row)
    line_count += 1
print list2D

输出:

[['A', 'B', 'B'], ['B', 'A', 'A'], ['A', 'A', 'A']]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM