我有两个包含工作日“位图”的字符串:例如,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--'
