cari

Rumah  >  Soal Jawab  >  teks badan

python中字符串的按位或怎么实现?

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

a或b得到1000111001

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

黄舟黄舟2805 hari yang lalu867

membalas semua(1)saya akan balas

  • 巴扎黑

    巴扎黑2017-04-17 17:46:08

    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 < yang telah selesai. 🎜> 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)

    balas
    0
  • Batalbalas