Skip to main content
 首页 » 编程设计

python之将字符串中两个 'bitmaps' 的内容合并(逻辑或)在一起

2025年05月04日11tintown

我有两个包含工作日“位图”的字符串:例如,1------ 仅是星期一,--3-5-- 是星期三和星期五,你明白了。

我想将它们与等效的逻辑 OR 合并在一起,例如。 1------ || --3-5-- = 1-3-5--。执行此操作的最 Pythonic 方法是什么?我目前正在这样做,但感觉不是特别优雅:

week1, week2, merged = '1------', '--3-5--', '' 
for i in range(0, len(week1)): 
  merged += week1[i] if week1[i] != '-' else week2[i] 
print merged 

请注意,我使用的是 Python 2.7,因此没有可变字符串,并且可以安全地假设输入字符串的格式始终正确(=始终使用 - 表示 false 和 1. .7 在正确的位置为 true)。

请您参考如下方法:

使用 zip , generator expression和 conditional expression :

>>> ''.join(b if a == '-' else a for a, b in zip('1------', '--3-5--')) 
'1-3-5--'