【发布时间】:2021-10-03 04:12:13
【问题描述】:
在 Python 程序中,我试图在特定条件下修改字符串:
X = ('4c0')
Sig = ['a', 'b', 'c', 'e']
Sig 是一个列表。另外,我有一个元组:
T = (4,'d',5)
如果第二个元素(T[1])不在 Sig 中,我必须创建另一个字符串,从 X 开始:
- 由于 T[1] ('d') 不在 Sig 中,因此 T[2] 必须替换 X 中的 T[0]('5' 替换 '4');
- X 中的最后一个元素必须加 1('1' 替换 '0')。
在这种情况下,期望的结果应该是:
Y = ('5c1')
我编写了这段代码,但它没有向 Y 添加任何字符串:
Y = []
for i in TT: # TT has the tuple T
i = list(i)
if i[1] not in Sig:
for j in TT:
if type(j[2]) == str:
if i[1] == j[1]:
Y.append(j[2][0]+i[1]+str(int(j[2][2]+1)))
有什么办法可以解决这个问题吗?
【问题讨论】:
-
请创建一个MCVE。
-
欢迎来到 Stack Overflow。请阅读How to Ask 和ericlippert.com/2014/03/05/how-to-debug-small-programs。您的逻辑中有许多
if条件。您应该尝试检查他们的行为是否符合您的预期。