我有这个清单:
list1 = ["happy","sad","love","bad"]
而且我想复制每个单词的最后一个字符,应该像这样:
list2 = ["happyy","sadd","lovee","badd"]
我尝试了这个:
list1 = ["happy","sad","love","bad"]
l = len(list1)-1
ls = len(list1[l])-1
list2 = []
k=0
i=0
for k in list1[l]:
for i in list1[ls]:
list2.append(list1[l]+list1[ls-1])
print(list2)
我懂了:
[“ badsad”,“ badsad”,“ badsad”,“ badsad”,“ badsad”,“ badsad”,“ badsad”,“ badsad”,“ badsad”,“ badsad”,“ badsad”,“ badsad”)
使用列表理解。如果有任何字符,s[-1]
将为您提供字符串的最后一个s
字符。因此,您应该确保不要索引到空字符串。
>>> list1 = ["happy","sad","love","bad",'']
>>> [s + s[-1] if s else s for s in list1]
['happyy', 'sadd', 'lovee', 'badd', '']
选择:
>>> [s + s[len(s)-1:] for s in list1]
['happyy', 'sadd', 'lovee', 'badd', '']
我认为第二个要好读一些。
编辑:实际上,我更喜欢这一点,我不知道它是如何摆脱我的:
>>> list1 = ["happy","sad","love","bad",'']
>>> [s + s[-1:] for s in list1]
['happyy', 'sadd', 'lovee', 'badd', '']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句