Project

General

Profile

« Previous | Next » 

Revision 3816

util.py: list_subset(): Made an index of '+' append the rest of the list

View differences:

util.py
127 127

  
128 128
def list_subset(list_, idxs, default=subset_skip):
129 129
    '''
130
    @param idxs list|None If None, returns entire list
130
    @param idxs list|None If None, returns entire list. An index of '+' appends
131
        the rest of the list.
131 132
    @param default The value to use for invalid indexes, or subset_skip to leave
132 133
        them out of the returned list
133 134
    '''
134 135
    if idxs == None: return list_
135 136
    subset = []
136
    for idx in idxs:
137
        value = list_get(list_, idx, default)
138
        if value is not subset_skip: subset.append(value)
137
    for i, idx in enumerate(idxs):
138
        if idx == '+':
139
            prev_idxs = idxs[:i] # excluding the current value, which is '+'
140
            subset += list_[max(prev_idxs)+1:]
141
        else:
142
            value = list_get(list_, idx, default)
143
            if value is not subset_skip: subset.append(value)
139 144
    return subset
140 145

  
141 146
def list_eq_is(list0, list1):

Also available in: Unified diff