Saya memiliki masalah berikut:

Saya memiliki string yang berisi beberapa alamat E-Mail. Alamat ini tidak statis. Saya menariknya dari database saya. Jadi misalnya ketika alamat ditarik dan saya mencetak string, hasilnya adalah:

mails = 'email1', 'email2', 'email3'

Sekarang saya ingin membuat daftar dari string. Jadi kode saya adalah:

list = [mails]

Tetapi ketika saya mencetak daftar, saya mendapatkan hasil berikut:

["'email1', 'email2', 'email3'"]

Bagaimana saya bisa menghapus tanda kutip ganda, sehingga hasilnya terlihat seperti ini?

['email1', 'email2', 'email3']

Terima kasih atas jawaban Anda :)

-1
Zekra 14 Januari 2022, 10:17
1
Saat Anda mencetak objek daftar, daftar akan memanggil repr() pada setiap objek dalam. Repr() yang menyebabkan tanda kutip ganda. Ini hanya masalah tampilan dan tidak memengaruhi konten string asli.
 – 
Nayuki
14 Januari 2022, 10:21
Selamat datang di Stack Overflow. Tidak jelas apa yang Anda maksud. Apakah Anda mengatakan bahwa Anda memiliki variabel bernama mails, yang mendapat nilai dari program Anda? Dan ketika Anda melakukan print(mails), hasil yang Anda lihat di layar persis 'email1', 'email2', 'email3'? Yaitu. Anda tidak melihat bagian mails = saat Anda menggunakan print?
 – 
Karl Knechtel
14 Januari 2022, 11:20

4 jawaban

Menggunakan Regex dan pemahaman daftar:

import re
my_list = [re.sub(r"'([^']+)'", r"\1", x) for x in my_list]

Penjelasan: Apa yang ada di dalam tanda kutip tunggal akan ditambahkan ke grup yang dirujuk oleh string pengganti \1.

0
phk 14 Januari 2022, 10:47

Misalkan Anda memiliki, dalam kode Anda:

mails = 'email1', 'email2', 'email3'

Itu adalah tupel string, mis.

('email1', 'email2', 'email3')

Anda cukup mengonversinya menjadi daftar dengan casting:

mails = list(mails)

Yang akan menghasilkan

['email1', 'email2', 'email3']

Tentu saja, semua tergantung pada data input Anda. Biasanya Anda akan mengambil data dari database Anda dan menambahkannya langsung ke daftar atau beberapa struktur data yang mendukung fungsionalitas yang dimaksudkan pada data itu lebih baik daripada daftar.

0
Karl Knechtel 14 Januari 2022, 11:18

Lakukan saja ini:

mails = 'email1', 'email2', 'email3'
mails= list(mails)
print(mails)

Dan sekarang hasilnya akan sama seperti yang Anda inginkan:

['email1', 'email2', 'email3']
0
araz malek 14 Januari 2022, 11:24
import json
a_list = json.dumps(emails)

Bagaimana saya akan melakukannya Jika saya ingin representasi string seperti yang dijelaskan ...

-1
Joran Beasley 14 Januari 2022, 10:27