【发布时间】:2023-03-14 10:32:01
【问题描述】:
我有一个字符串,比如 p = '25VHVH74V6HV8VH'。这里 VHVH、V、HV、VH 被称为链。 链 1= VHVH 链 2=V 链 3=HV 链 4=VH。
我想随机选择任何一个链并在字符串中补充它们(意味着将 H 更改为 V 或 V 更改为 H)。
例如,如果我拿起chain1,那么我的字符串将是p = '25HVHV74V6HV8VH' 如果我拿起chain4,那么我的字符串将是p ='25VHVH74V6HV8HV强>'
总结:
输入:'25VHVH74V6HV8VH'
输出:'25HVHV74V6HV8VH'或'25VHVH74H6HV8VH'或'25VHVH74V6VH8VH'或'25VHVH74V6HV8HV ' '
目前我可以得到每个链起始的索引。然后使用 list.index() 我应该替换其中一个,但我认为它不是实现我想要的有效方法。我被这个事实困住了......
pe = list(enumerate(polish_exp))
chain_pos = {}
for i in pe:
if i[1] in ['H','h','V','v']:
chain_pos.update({i[0]:[i[1]]})
count = 0
for j in pe[pe.index(i)+1:]:
if j[1] in ['H','h','V','v']:
chain_pos[i[0]].append(j[1])
count += 1
else:
break
print(chain_pos)
以上代码我目前得到的输出
{2: ['V'], 4: ['H'], 8: ['V', 'H'], 9: ['H'], 11: ['V'], 13: ['V', 'H'], 14: ['H']}
输入:'25VHVH74V6HV8VH'
预期输出:“25HVHV74V6HV8VH”或“25VHVH74H6HV8VH”或“25VHVH74V6VH8VH”或“25VHVH74V6HV8HV”
【问题讨论】:
-
我认为您的问题与您的标题不符,或者至少在任何地方都很难找到“next()”函数的用法。