python中字符串的按位或怎么实现?
黄舟
黄舟 2017-04-17 17:44:08
0
1
860

a="1000111000"
b="1000000001"
ab为字符串

a或b得到1000111001

除了一位一位的处理,有没有什么方便的方法

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

membalas semua(1)
巴扎黑

Kod:

a = "1000111000"
b = "1000000001"

c = int(a, 2) | int(b, 2)

print('{0:b}'.format(c))

Keputusan:

1000111001

Analisis:

pengendali| itu sendiri boleh melakukan operasi bitwise, jadi kita hanya perlu tahu cara menukar rentetan menjadi integer 2-bawaan dan cara menukar Hasil integer boleh diwakili oleh rentetan 2-bawa .

boleh menukar integer atau rentetan int(a, 2) kepada integer binari (secara tepatnya, biarkan a menggunakan a sebagai asas untuk penukaran integer), dan kemudian gunakan 2進位 untuk melaksanakan bitwise atau , Akhir sekali, kaedah | membolehkan kami memformat nilai dalam format binari. '{0:b}'.format(c)


Pemikiran Lain:

Menariknya, jika kita melakukannya sedikit demi sedikit, menggunakan pemahaman penjana serta beberapa helah gaya pengaturcaraan berfungsi lain boleh menyelesaikan tugas dalam satu baris pendek:

a = "1000111000"
b = "1000000001"

c = ''.join(str(int(ba) | int(bb)) for ba, bb in zip(a, b))
print(c)
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan