2015-09-24 16 views
1

我有一個字符矩陣,看起來是這樣的:刪除字符

["AAAAAAAA", 
"AAAXAAAA", 
"AAAAAAAA"] 

我對X的位置,數字X/Y座標,我希望得到一個包含字符串矩陣中除x以外的所有字母,最好的方法是什麼?

+3

什麼做的座標是這樣的:'[1, 3]'?另外,在你的示例代碼中,你期望什麼輸出?看起來你可以做'A'*(number_of_elements_in(矩陣) - number_of_coordinates_to_remove)'。 – mgilson

+5

你有什麼嘗試?向我們展示你的嘗試,即使它不是最好的方法。 –

+0

你想要的輸出是什麼?一個字符串,或三個字符串的列表? – askewchan

回答

1

不是最有效的,但出發點:

>>> matrix = [ 
...  "AAAAAAAA", 
...  "AAAXAAAA", 
...  "AAAAAAAA"] 
>>> x, y = 4, 2 

>>> linear = list(itertools.chain.from_iterable(matrix)) 
>>> del linear[x - 1 + (y - 1) * 8] 
>>> ''.join(linear) 
'AAAAAAAAAAAAAAAAAAAAAAA' 
0

好吧,這裏是用Python的真棒列表理解的解決方案:

coordinates = (1,3) # (line, column) 
matrix = ["AAAAAAAA", 
    "AAAXAAAA", 
    "AAAAAAAA"] 

matrix = [list(line) for line in matrix] # convert the strings to create a "real" matrix" 
del matrix[coordinates[0]][coordinates[1]] # delete the specified element 

"".join([item for line in matrix for item in line]) # flatten out the matrix and creating a string