从字符串列表中删除字符

时间:2015-09-24 16:25:06

标签: python list

我有一个如下所示的字符矩阵:

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

我有x的位置的数字x / y坐标,我想得到一个字符串,其中包含该矩阵中除x以外的所有字母,最好的方法是什么?

2 个答案:

答案 0 :(得分: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'

答案 1 :(得分: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