python_like_tools 0.0.1
python_like_tools: ^0.0.1 copied to clipboard
python_like_tools is a Dar implementation of Python's collections, itertools and other standard modules.
example/main.dart
import 'package:python_like_tools/python_like_tools.dart';
void main() {
var dq = Deque<int>();
dq.append(1);
dq.append(2);
dq.append(3);
print("Init dq: $dq");
dq.appendleft(0);
print("appendleft(0): $dq");
print("pop(): ${dq.pop()}");
print("popleft(): ${dq.popleft()}");
print("Result dq: $dq"); // [1,2]
dq.extend([4, 5, 6]);
print("extend([4,5,6]): $dq");
dq.extendleft([-1, -2]);
print("extendleft([-1,-2]): $dq");
dq.rotate(2);
print("rotate(2): $dq");
dq.rotate(-3);
print("rotate(-3): $dq");
var copy = dq.copy;
print("copy: $copy");
dq.append(2);
print("dq: $dq, count(2)=${dq.count(2)}, index(2)=${dq.index(2)}");
dq.remove(2);
print("remove(2): $dq");
dq.reverse();
print("reverse(): $dq");
print("dq[0]: ${dq[0]}");
dq[0] = 99;
print("Result dq: $dq");
var limited = Deque<int>(maxlen: 3);
limited.extend([1, 2, 3, 4, 5]);
print("dq, when maxlen=3 : $limited");
}
/*
output :
Init dq: Deque([1, 2, 3], maxlen=null)
appendleft(0): Deque([0, 1, 2, 3], maxlen=null)
pop(): 3
popleft(): 0
Result dq: Deque([1, 2], maxlen=null)
extend([4,5,6]): Deque([1, 2, 4, 5, 6], maxlen=null)
extendleft([-1,-2]): Deque([-2, -1, 1, 2, 4, 5, 6], maxlen=null)
rotate(2): Deque([5, 6, -2, -1, 1, 2, 4], maxlen=null)
rotate(-3): Deque([-1, 1, 2, 4, 5, 6, -2], maxlen=null)
copy: Deque([-1, 1, 2, 4, 5, 6, -2], maxlen=null)
dq: Deque([-1, 1, 2, 4, 5, 6, -2, 2], maxlen=null), count(2)=2, index(2)=2
remove(2): Deque([-1, 1, 4, 5, 6, -2, 2], maxlen=null)
reverse(): Deque([2, -2, 6, 5, 6, -2, 2], maxlen=null)
dq[0]: 2
Result dq: Deque([99, -2, 6, 5, 6, -2, 2], maxlen=null)
dq, when maxlen=3 : Deque([3, 4, 5], maxlen=3)
*/