Skip to content

SLICE FOR REMOVING ELEMENTS

Python
#!/usr/bin/env python3
"""
SLICE FOR REMOVING ELEMENTS
Delete elements by position or pattern
"""

print("=== Remove First N Elements ===")
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
n = 3

result = data[n:]
print(f"Original: {data}")
print(f"Remove first {n}: {result}")

print("\n=== Remove Last N Elements ===")
result = data[:-n]
print(f"Remove last {n}: {result}")

print("\n=== Remove Elements from Middle ===")
data = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
start = 2
end = 5

# Remove elements from index 2 to 4 (inclusive)
result = data[:start] + data[end:]
print(f"Original: {data}")
print(f"Remove index {start}-{end-1}: {result}")

print("\n=== Keep Only Middle Elements ===")
data = list(range(1, 11))
keep_start = 3
keep_end = 7

result = data[keep_start:keep_end]
print(f"Original: {data}")
print(f"Keep only index {keep_start}-{keep_end-1}: {result}")

print("\n=== Remove Every Nth Element ===")
data = list(range(1, 21))
n = 3

# Keep elements where index is NOT multiple of n
result = [val for i, val in enumerate(data) if (i+1) % n != 0]
print(f"Original: {data}")
print(f"Remove every {n}rd element: {result}")

print("\n=== Trim Whitespace from Strings ===")
texts = ["  hello  ", "  world  ", "  python  "]

# Use strip() but show slice alternative for leading/trailing
for text in texts:
    stripped = text.strip()
    print(f"'{text}' -> '{stripped}'")

print("\n=== Remove File Extension ===")
filenames = ["document.pdf", "image.png", "script.py"]

for filename in filenames:
    # Find last dot and slice before it
    dot_pos = filename.rfind('.')
    if dot_pos > 0:
        name_only = filename[:dot_pos]
        print(f"{filename} -> {name_only}")

print("\n=== Remove Prefix/Suffix ===")
text = "prefixMIDDLEsuffix"
prefix_len = 6
suffix_len = 6

# Remove first 6 and last 6 characters
result = text[prefix_len:-suffix_len]
print(f"Original: {text}")
print(f"Remove prefix/suffix: {result}")