python_like_tools 0.0.3 copy "python_like_tools: ^0.0.3" to clipboard
python_like_tools: ^0.0.3 copied to clipboard

python_like_tools is a Dart implementation of Python's collections, itertools and other standard modules.

example/main.dart

import '../lib/python_like_tools.dart';

void main() {
  final m = SliceableMap<String, int>({'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5});

  print('original: $m');

  final s1 = m.slice(0, 3);
  print('slice(0,3): $s1');
  assert(s1.toString() == '{a: 1, b: 2, c: 3}');

  final s2 = m.slice(2);
  print('slice(2): $s2');
  assert(s2.toString() == '{c: 3, d: 4, e: 5}');

  final s3 = m.slice(null, 2);
  print('slice(null,2): $s3');
  assert(s3.toString() == '{a: 1, b: 2}');

  final s4 = m.slice(-10, 2);
  print('slice(-10,2): $s4');
  assert(s4.toString() == '{a: 1, b: 2}');

  final s5 = m.slice(3, 100);
  print('slice(3,100): $s5');
  assert(s5.toString() == '{d: 4, e: 5}');

  final s6 = m.slice(4, 2);
  print('slice(4,2): $s6');
  assert(s6.isEmpty);

  final s7 = m.slice(0, 0);
  print('slice(0,0): $s7');
  assert(s7.isEmpty);

  final s8 = m.slice(0, m.length);
  print('slice(0,length): $s8');
  assert(s8.toString() == m.toString());

  s1['x'] = 100;
  print('after modify slice: $s1');
  print('original unchanged: $m');
  assert(!m.containsKey('x'));

  final sum = s8.values.reduce((a, b) => a + b);
  print('sum of values: $sum');
  assert(sum == 15);

  print('ALL TESTS PASSED');
}
0
likes
160
points
132
downloads

Publisher

unverified uploader

Weekly Downloads

python_like_tools is a Dart implementation of Python's collections, itertools and other standard modules.

Homepage
Repository (GitHub)
View/report issues

Topics

#iterator #deque #collection

Documentation

Documentation
API reference

License

BSD-3-Clause (license)

More

Packages that depend on python_like_tools