ListPlus.py
Overview
ListPlus.py is Scala like list class library for Python.
Requirements
Python >= 3.3.2
Usage
>>> from listplus import List
>>> l = List(range(1, 5))
>>> l.head
1
Methods
get(index)
>>> l = List(range(1, 5))
>>> l.get(1)
2
swap(index, moveto)
>>> l = List(['a', 'b', 'c'])
>>> l.swap(0, 2)
>>> print(l)
['c', 'b', 'a']
forall(expr)
>>> l = List(range(1, 5))
>>> l.forall('_ > 0')
True
>>> l.forall('_ > 3')
False
contains(value)
>>> l = List([1, 2, 3])
>>> l.contains(2)
True
>>> l.contains(5)
False
>>> l = List(['a', 'b', 'c'])
>>> l.contains('b')
True
>>> l.contains('f')
False
apply(index)
>>> l = List([1, 2, 3])
>>> l.apply(2)
3
>>> l.apply(3) is None
True
take(count)
>>> l = List([1, 2, 3])
>>> l.take(2)
[1, 2]
>>> l.take(3)
[1, 2, 3]
>>> l.take(4)
[1, 2, 3]
takeRight(count)
>>> l = List([1, 2, 3])
>>> l.takeRight(2)
[2, 3]
>>> l.takeRight(3)
[1, 2, 3]
>>> l.takeRight(4)
[1, 2, 3]
drop(count)
>>> l = List([1, 2, 3, 4, 5])
>>> l.drop(2)
[3, 4, 5]
dropRight(count)
>>> l = List([1, 2, 3, 4, 5])
>>> l.dropRight(2)
[1, 2, 3]
>>> l = List(['a', 'b', 'c', 'd', 'e'])
>>> l.dropRight(3)
['a', 'b']
Properties
head
>>> l = List(range(1, 5))
>>> l.head
1
tail
>>> l = List(range(1, 5))
>>> l.tail
[2, 3, 4]
init
>>> l = List(range(1, 5))
>>> l.init
[1, 2, 3]
last
>>> l = List(range(1, 5))
>>> l.last
4
length
>>> l = List([1, 2, 3, 4, 5])
>>> print(l.length)
5
min
>>> l = List([1, 2, 3, 4, 5])
>>> print(l.min)
1
max
>>> l = List([1, 2, 3, 4, 5])
>>> print(l.max)
5
size
>>> l = List([1, 2, 3, 4, 5])
>>> print(l.size)
5
isEmpty
>>> l = List()
>>> print(l.isEmpty)
True
>>> l = List([])
>>> print(l.isEmpty)
True
>>> l = List([1])
>>> print(l.isEmpty)
False
sorted
>>> l = List([5, 4, 3, 2, 1])
>>> print(l.sorted)
[1, 2, 3, 4, 5]
reverse
>>> l = List([5, 4, 3, 2, 1])
>>> print(l.reverse)
[1, 2, 3, 4, 5]
sum
>>> l = List([1,2,3])
>>> l.sum
6
>>> l = List([])
>>> l.sum
0
product
>>> l = List([1,2,3])
>>> l.product
9
>>> l = List([])
>>> l.product
0