def remove_duplicates(input_list):
"""
Removes duplicate elements from a list while preserving the original order.
Args:
input_list: The list to remove duplicates from.
Returns:
A new list with duplicates removed.
"""
new_list = [] # Create an empty list to store unique elements
seen = set() # Create an empty set to keep track of elements we've seen
for element in input_list:
if element not in seen: # If we haven't seen this element before
new_list.append(element) # Add it to the new list
seen.add(element) # And mark it as seen
return new_list
# Example usage:
my_list = [1, 2, 2, 3, 4, 4, 5]
result = remove_duplicates(my_list)
print(result) # Output: [1, 2, 3, 4, 5]
ZGVmIHJlbW92ZV9kdXBsaWNhdGVzKGlucHV0X2xpc3QpOgogICIiIgogIFJlbW92ZXMgZHVwbGljYXRlIGVsZW1lbnRzIGZyb20gYSBsaXN0IHdoaWxlIHByZXNlcnZpbmcgdGhlIG9yaWdpbmFsIG9yZGVyLgoKICBBcmdzOgogICAgaW5wdXRfbGlzdDogVGhlIGxpc3QgdG8gcmVtb3ZlIGR1cGxpY2F0ZXMgZnJvbS4KCiAgUmV0dXJuczoKICAgIEEgbmV3IGxpc3Qgd2l0aCBkdXBsaWNhdGVzIHJlbW92ZWQuCiAgIiIiCiAgbmV3X2xpc3QgPSBbXSAgIyBDcmVhdGUgYW4gZW1wdHkgbGlzdCB0byBzdG9yZSB1bmlxdWUgZWxlbWVudHMKICBzZWVuID0gc2V0KCkgICAjIENyZWF0ZSBhbiBlbXB0eSBzZXQgdG8ga2VlcCB0cmFjayBvZiBlbGVtZW50cyB3ZSd2ZSBzZWVuCgogIGZvciBlbGVtZW50IGluIGlucHV0X2xpc3Q6CiAgICBpZiBlbGVtZW50IG5vdCBpbiBzZWVuOiAgIyBJZiB3ZSBoYXZlbid0IHNlZW4gdGhpcyBlbGVtZW50IGJlZm9yZQogICAgICBuZXdfbGlzdC5hcHBlbmQoZWxlbWVudCkgICMgQWRkIGl0IHRvIHRoZSBuZXcgbGlzdAogICAgICBzZWVuLmFkZChlbGVtZW50KSAgICAgICAjIEFuZCBtYXJrIGl0IGFzIHNlZW4KCiAgcmV0dXJuIG5ld19saXN0CgojIEV4YW1wbGUgdXNhZ2U6Cm15X2xpc3QgPSBbMSwgMiwgMiwgMywgNCwgNCwgNV0KcmVzdWx0ID0gcmVtb3ZlX2R1cGxpY2F0ZXMobXlfbGlzdCkKcHJpbnQocmVzdWx0KSAgIyBPdXRwdXQ6IFsxLCAyLCAzLCA0LCA1XSA=