Saya ingin membaca beberapa karakter dari sebuah string dan memasukkannya ke string lain (Seperti yang kita lakukan di C).
Jadi kode saya seperti di bawah ini
import string
import re
str = "Hello World"
j = 0
srr = ""
for i in str:
srr[j] = i #'str' object does not support item assignment
j = j + 1
print (srr)
Dalam C kodenya mungkin
i = j = 0;
while(str[i] != '\0')
{
srr[j++] = str [i++];
}
Bagaimana saya bisa menerapkan hal yang sama dengan Python?
str
sebagai variabel di sini, Anda tidak akan dapat melakukan konversi string denganstr(var_that_is_not_a_string)
atau jenis perbandingan sepertitype(var_with_unknown_type) == str
.Jawaban:
Di Python, string tidak dapat diubah, jadi Anda tidak dapat mengubah karakternya di tempat.
Namun, Anda dapat melakukan hal berikut:
Alasan ini berhasil adalah karena ini jalan pintas untuk:
Di atas membuat string baru dengan setiap iterasi, dan menyimpan referensi ke string baru tersebut di
srr
.sumber
print " ".join(reversed("Hello world".split())).capitalize()
Jawaban lainnya benar, tetapi Anda tentu saja dapat melakukan sesuatu seperti:
jika Anda benar-benar menginginkannya.
sumber
String Python tidak dapat diubah sehingga apa yang Anda coba lakukan di C tidak mungkin dilakukan dengan python. Anda harus membuat string baru.
Kemudian gunakan potongan string:
sumber
Seperti yang disebutkan aix - string dalam Python tidak dapat diubah (Anda tidak dapat mengubahnya di tempat).
Apa yang Anda coba lakukan dapat dilakukan dengan banyak cara:
sumber
Pendekatan lain jika Anda ingin menukar karakter tertentu dengan karakter lain:
sumber
Bagaimana dengan solusi ini:
str = "Hello World" (seperti yang disebutkan dalam soal) srr = str + ""
sumber
Hai, Anda harus mencoba metode pemisahan string:
sumber