parameters: (properties, feature, value = None)
return_statement: return result
docstring: Returns a modified version of properties with all values of the
          given feature replaced by the given value.
          If 'value' is None the feature will be removed.
docstring_summary: Returns a modified version of properties with all values of the
          given feature replaced by the given value.
          If 'value' is None the feature will be removed.
docstring_tokens: Returns a modified version of properties with all values of the given feature replaced by the given value . If value is None the feature will be removed .
function: def change (properties, feature, value = None):
      """ Returns a modified version of properties with all values of the
          given feature replaced by the given value.
          If 'value' is None the feature will be removed.
      """
      assert is_iterable_typed(properties, basestring)
      assert isinstance(feature, basestring)
      assert isinstance(value, (basestring, type(None)))
      result = []
  
      feature = add_grist (feature)
  
      for p in properties:
          if get_grist (p) == feature:
              if value:
                  result.append (replace_grist (value, feature))
  
          else:
              result.append (p)
  
      return result
function_tokens: def change ( properties , feature , value = None ) : assert is_iterable_typed ( properties , basestring ) assert isinstance ( feature , basestring ) assert isinstance ( value , ( basestring , type ( None ) ) ) result = [ ] feature = add_grist ( feature ) for p in properties : if get_grist ( p ) == feature : if value : result . append ( replace_grist ( value , feature ) ) else : result . append ( p ) return result