تحتاج إلى تنفيذ وظيفة تأخذ قائمة السلاسل كمدخلات. تمثل كل سلسلة اسم عمود في جدول قاعدة البيانات. ومع ذلك، القائمة غير منسقة بشكل صحيح وتحتوي على بعض الأحرف الإضافية وعدم التناسق. مهمتك هي تنظيف القائمة وإرجاع قائمة جديدة بأسماء الأعمدة الصحيحة.

يجب أن يستوفي اسم العمود الصالح المتطلبات التالية:
- يجب أن يحتوي فقط على أحرف صغيرة أو أحرف كبيرة أو شرطات سفلية.
- يجب أن يبدأ بحرف أو شرطة سفلية.
- يجب ألا يحتوي على أي مسافات أو أحرف خاصة.

تحتاج إلى تنفيذ الوظيفة التالية:

```بيثون
def clean_column_names(names: List[str]) -> القائمة[str]:
    يمر
```

**مدخل**
- `الأسماء` (1 ≥ `len(names)` ≥ 100): قائمة من السلاسل `n` حيث تمثل كل سلسلة اسم عمود. ويضمن أن يبلغ طول كل سلسلة 100 حرف على الأكثر.

**انتاج**
- إرجاع قائمة جديدة تحتوي على أسماء الأعمدة التي تم تنظيفها، بنفس ترتيب القائمة الأصلية.

**أمثلة**
```بيثون
الأسماء = ["user_id"، "document_id"، "pAgeNum"، "lang"]
clean_names = clean_column_names(names)
طباعة (أسماء_نظيفة)
```
انتاج:
```
["user_id"، "document_id"، "pAgeNum"، "lang"]
```

```بيثون
الأسماء = ["3Columns"، "itsNaMe"، "123OohYes"]
clean_names = clean_column_names(names)
طباعة (أسماء_نظيفة)
```
انتاج:
```
["اسمه"]
```
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}