Rumah > Soal Jawab > teks badan
希望列表 c
所有元素首字母变大写,这样写为甚么会出错?该如何写?
c=['zz','yy','xx']
c[0:2]=c[0:2].capitalize()
# 提示错误
AttributeError: 'list' object has no attribute 'capitalize'
巴扎黑2017-04-17 17:52:28
capitalize
ialah kaedah rentetan dan c[0:2]
ialah senarai, jadi anda akan mendapat ralat semasa memanggil captitalize
.
c = ['zz','yy','xx']
c = [string.capitalize() for string in c]
Anda juga boleh melakukan ini:
c = ['xx', 'yy', 'zz']
c = ' '.join(c).title().split()
P.S. Apabila menggunakan senarai, jika anda ingin mengendalikan keseluruhan senarai, tidak perlu menggunakan penghirisan c[0:2]
Ini adalah pendekatan yang tidak perlu di sini.
Untuk rujukan anda!
@moling3650, menggunakan title
benar-benar idea yang menarik capitalize
hanya akan menggunakan huruf besar pada perkataan pertama rentetan, manakala title
akan menggunakan huruf besar semua perkataan dalam rentetan .
Lihat contoh:
>>> string = 'my name is dokelung'
>>> string.capitalize()
'My name is dokelung'
>>> string.title()
'My Name Is Dokelung'
Jadi ini berfungsi:
>>> c = ['xx', 'yy', 'zz']
>>> ' '.join(c).title().split()
['Xx', 'Yy', 'Zz']