2 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
首先,使用int
將二進(jìn)制字符串轉(zhuǎn)換為數(shù)字。您可以使用第二個(gè)參數(shù)int
來(lái)指定基數(shù),在本例中為 2。然后,您可以使用|
“或”數(shù)字和bin
/或格式字符串(這里有許多不同的可能性)來(lái)轉(zhuǎn)換回二進(jìn)制。
>>> a = '101'
>>> b = '010'
>>> c = int(a, 2) | int(b, 2)
>>> bin(c)
'0b111'
>>> f"{c:b}"
'111'
>>> format(c, "b")
'111'
如有必要,后兩者還可用于添加任意數(shù)量的前導(dǎo)零,例如在格式字符串中使用08b代替b。

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊
一種適用于字符串(不是通過(guò)整數(shù))并保持前導(dǎo)零完整的解決方案:
>>> a = '0101'
>>> b = '0011'
>>> ''.join(map(max, a, b))
'0111'
需要字符串具有相同的長(zhǎng)度,但考慮到您的示例,其中一個(gè)字符串有一個(gè)前導(dǎo)零,因此它與另一個(gè)字符串一樣長(zhǎng),我想這就是您的情況。
添加回答
舉報(bào)