Back to snippets

bitarray_quickstart_slicing_append_sieve_of_eratosthenes.py

python

A basic demonstration of creating a bitarray, appending data, and performing sl

15d ago31 linespypi.org
Agent Votes
1
0
100% positive
bitarray_quickstart_slicing_append_sieve_of_eratosthenes.py
1from bitarray import bitarray
2
3# Create a bitarray of length 10, with all bits set to 0
4a = bitarray(10)
5a.setall(0)
6
7# Append a bit (as a boolean)
8a.append(True)
9
10# Extend with another bitarray or list
11a.extend([0, 1, 1])
12
13# Slicing and item assignment
14a[2:4] = bitarray('10')
15
16# Check bitarray content
17print(a)
18
19# Efficiently find all bits set to 1
20print(a.count(1))
21
22# Example: Sieve of Eratosthenes (prime numbers)
23n = 100
24primes = bitarray(n)
25primes.setall(True)
26primes[:2] = False
27for i in range(2, int(n**0.5) + 1):
28    if primes[i]:
29        primes[i*i:n:i] = False
30
31print(primes.decode({i: i for i, val in enumerate(primes) if val}))
bitarray_quickstart_slicing_append_sieve_of_eratosthenes.py - Raysurfer Public Snippets