Hapus karakter khusus kecuali spasi dalam daftar tanpa menggunakan ulang Python [duplikat]
Dec 02 2020
Saya memiliki daftar lst = ["is", "star,", "the-"] dan saya ingin menghapus ',', '-' tanpa menggunakan re.
Saya menggunakan yang di bawah ini dan berhasil tetapi saya bertanya-tanya apakah ada sesuatu yang lebih sederhana:
words = []
index = 0
length = 0
for char in lst:
for i, c in enumerate(char):
if c.isalpha():
if length == 0:
index = i
length += 1
else:
word = char[index:index + length]
words.append(word)
length = 0
print(words)
Jawaban
1 AziMez Dec 02 2020 at 17:31
Semoga ini bisa membantu Anda:
lst = ["is ", "star,", "the-"]
lst = [''.join(e for e in f if e.isalpha()) for f in lst]
print(lst)
Keluaran:
['is', 'star', 'the']
ATIFADIB Dec 02 2020 at 17:25
Jika Anda hanya tertarik pada karakter huruf kecil, Anda dapat menggunakan python's in built ord method.
for idx, word in enumerate(words):
new_word = ""
for char in word:
if char == " " or 97 <= ord(char) <= 122:
new_word += char
words[idx] = new_word
bonifacio_kid Dec 02 2020 at 17:35
words = []
for word in lst:
#clean_word: loop the word and check every single value if it is alphanumeric, append and pass if it is a special characters or spaces. It will become a list since we do list comprehension (['i', 's']) and join them to become a string ('is').
clean_word = [letter for letter in word if letter.isalnum()]
words.append(''.join(clean_word))
print (words)
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Taylor Sheridan Baru Menambahkan 1 Bintang 'Yellowstone' Favoritnya ke Pemeran 'Lawmen: Bass Reeves'