如何将 python 中的数字替换为白色 space
How can ı replace the number to white space in python
我在 phyton 中进行了加密解密工作,首先我将空格更改为随机数。为了完成这项工作,我使用此代码 a = [x for x in text]
将字符串转换为列表。我使用此代码替换了空格:
for i in range(lenghtOfText):
if ( a[i]==" "):
a[i]=str((random.randint(0, 9)))
现在我需要再更改一次带有空格的数字。我试过了,但没用
for i in range(lenghtOfText):
if (a[i] in range(0,9)):
a[i]=" "
我尝试了另一种方法来做到这一点。但它仍然不起作用。另一个代码是
for i in range(lenghtOfText):
if (a[i] == 0 or a[i] == 1 or a[i] == 2 or a[i] == 3 or a[i] == 4 or a[i] == 5 or a[i] == 6 or a[i] == 7 or a[i] == 8 or a[i] == 9 ):
a[i]=" "
那是因为字符'1'
(ascii 49)与数字1
不一样。
试试这个:
for i in range(lenghtOfText):
try:
if (int(a[i]) in range(0,10)):
a[i]=" "
except:
pass
注意:记住范围的结束是唯一的。
稍微好点的方法:
digits = [str(i) for i in range(10)]
for i in range(lenghtOfText):
if a[i] in digits:
a[i] = " "
更好:
for i in range(lenghtOfText):
if a[i].isdigit():
a[i] = " "
还有一个,这次使用 map
:
a = list(map(lambda e: " " if e.isdigit() else e, a))
唯一需要注意的是,这将创建数组的副本,而原始数组保持不变。
您似乎将空格保存为字符串,但将它们查询为整数。试试 a[i] = "0"
等等。
它不起作用,因为您尝试将字符串与 int 值进行比较。
a[i]为字符串类型
range(0,9) 是具有 int 值的列表。
试试这个:
for i in range(lenghtOfText):
if (int(a[i]) in range(0,9)):
a[i]=" "
我在 phyton 中进行了加密解密工作,首先我将空格更改为随机数。为了完成这项工作,我使用此代码 a = [x for x in text]
将字符串转换为列表。我使用此代码替换了空格:
for i in range(lenghtOfText):
if ( a[i]==" "):
a[i]=str((random.randint(0, 9)))
现在我需要再更改一次带有空格的数字。我试过了,但没用
for i in range(lenghtOfText):
if (a[i] in range(0,9)):
a[i]=" "
我尝试了另一种方法来做到这一点。但它仍然不起作用。另一个代码是
for i in range(lenghtOfText):
if (a[i] == 0 or a[i] == 1 or a[i] == 2 or a[i] == 3 or a[i] == 4 or a[i] == 5 or a[i] == 6 or a[i] == 7 or a[i] == 8 or a[i] == 9 ):
a[i]=" "
那是因为字符'1'
(ascii 49)与数字1
不一样。
试试这个:
for i in range(lenghtOfText):
try:
if (int(a[i]) in range(0,10)):
a[i]=" "
except:
pass
注意:记住范围的结束是唯一的。
稍微好点的方法:
digits = [str(i) for i in range(10)]
for i in range(lenghtOfText):
if a[i] in digits:
a[i] = " "
更好:
for i in range(lenghtOfText):
if a[i].isdigit():
a[i] = " "
还有一个,这次使用 map
:
a = list(map(lambda e: " " if e.isdigit() else e, a))
唯一需要注意的是,这将创建数组的副本,而原始数组保持不变。
您似乎将空格保存为字符串,但将它们查询为整数。试试 a[i] = "0"
等等。
它不起作用,因为您尝试将字符串与 int 值进行比较。
a[i]为字符串类型 range(0,9) 是具有 int 值的列表。
试试这个:
for i in range(lenghtOfText):
if (int(a[i]) in range(0,9)):
a[i]=" "