替换矩阵中所有出现的数字 python
Replace all occurances of a number in a matrix python
输入是包含矩阵的多行字符串:
input = '''22 13 17 11 0
8 2 23 4 24
21 9 7 16 7
6 10 3 7 5
1 12 20 15 19'''
我必须用 -1 替换所有出现的地方,比方说 7。所以输出数组将是:
output = '''22 13 17 11 0
8 2 23 4 24
21 9 -1 16 -1
6 10 3 -1 5
1 12 20 15 19'''
您可以将其保留为字符串格式,只需使用 word-separator regex and sub
您想要的所有特定数字:
import re
s = '''22 13 17 11 0
8 2 23 4 24
21 9 7 16 7
6 10 3 7 5
1 12 20 15 19'''
num = 7
target = -1
print(re.sub(rf'\b{num}\b', str(target), s))
将给予:
22 13 17 11 0
8 2 23 4 24
21 9 -1 16 -1
6 10 3 -1 5
1 12 20 15 19
您可以尝试用空格拆分它,然后 运行 一个 for 循环。
s = '''22 13 17 11 0
8 2 23 4 24
21 9 7 16 7
6 10 3 7 5
1 12 20 15 19'''
a = s.split(" ")
b = []
for i in a:
if i == "7":
b.append("-1")
else:
b.append(i)
c = " ".join(b)
print(c)
输入是包含矩阵的多行字符串:
input = '''22 13 17 11 0
8 2 23 4 24
21 9 7 16 7
6 10 3 7 5
1 12 20 15 19'''
我必须用 -1 替换所有出现的地方,比方说 7。所以输出数组将是:
output = '''22 13 17 11 0
8 2 23 4 24
21 9 -1 16 -1
6 10 3 -1 5
1 12 20 15 19'''
您可以将其保留为字符串格式,只需使用 word-separator regex and sub
您想要的所有特定数字:
import re
s = '''22 13 17 11 0
8 2 23 4 24
21 9 7 16 7
6 10 3 7 5
1 12 20 15 19'''
num = 7
target = -1
print(re.sub(rf'\b{num}\b', str(target), s))
将给予:
22 13 17 11 0
8 2 23 4 24
21 9 -1 16 -1
6 10 3 -1 5
1 12 20 15 19
您可以尝试用空格拆分它,然后 运行 一个 for 循环。
s = '''22 13 17 11 0
8 2 23 4 24
21 9 7 16 7
6 10 3 7 5
1 12 20 15 19'''
a = s.split(" ")
b = []
for i in a:
if i == "7":
b.append("-1")
else:
b.append(i)
c = " ".join(b)
print(c)