我有一个包含文件行的列表。你知道吗
list1[0]="this is the first line"
list2[1]="this is the second line"
我还有一根绳子。你知道吗
example="TTTTTTTaaaaaaaaaabcccddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefffff"
我想用字符串替换列表[0](示例)。但是我想保持这个词的长度。例如,新的list1[0]应该是"TTTT TT TTa aaaaa aaaa"
。我能想到的唯一解决方案是将字符串示例转换为一个列表,并使用for循环将字符串列表中的字母逐字读取到原始列表中。你知道吗
for line in open(input, 'r'):
list1[i] = listString[i]
i=i+1
但是,这与我的理解不符,因为Python字符串是不可变的?初学者解决这个问题的好方法是什么?你知道吗
我可能会这样做:
如果
repl
可能比orig
短,请考虑r = itertools.cycle(repl)
它的工作原理是从替换字符串中创建一个迭代器,然后在原始字符串上迭代,保留空格,但使用替换字符串中的下一个字符而不是任何非空格字符。你知道吗
您可以采取的另一种方法是在一次通过
orig
的过程中注意到空间的索引,然后在那些通过repl
的索引处插入它们,并返回结果的一部分然而,我无法想象第二种方法会更快,肯定是内存效率更低,而且我不觉得它更容易阅读(事实上我发现它更难阅读!)如果
repl
比orig
短,它也没有简单的解决方法(我猜你可以做repl *= 2
,但这比sin更难看,仍然不能保证它能工作)相关问题 更多 >
编程相关推荐