you should use x[1:]
to check remaining elements in that string
list1 = ['_hellothere', '_hello_there', 'hellothere']
final_items = []
for x in list1:
if x.startswith("_") and "_" in x[1:]:
split_items = x.split("_")
convert_to_uppercase = [a.upper() for a in split_items]
split_items = [change.capitalize() for change in split_items]
final_items.append('_'.join(split_items))
elif not x.startswith("_") and not "_" in x[1:]:
final_items.append(x)
elif x.startswith("_") and not "_" in x[1:]:
final_items.append(x)
print(final_items)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…