[英]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.