从字符串列表中删除字符

2024-09-30 16:42:02 发布

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

我有一个字符矩阵,看起来像这样:

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

我有数字x/y坐标来表示x的位置,我想得到一个字符串,它包含了矩阵中除x以外的所有字母,最好的方法是什么?你知道吗


Tags: 方法字符串字母矩阵数字字符aaaaaaaaaaaxaaaa
2条回答

不是最有效的,而是一个起点:

>>> 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'

好的,下面是一个使用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

相关问题 更多 >