首先我想提一下,我创建的这个简单脚本可能没有任何现实生活中的应用程序,但我这样做是因为我正在学习并且我在 SO 中找不到任何类似的东西。我想知道可以做些什么来“任意”更改列表中的可迭代字符。
当然tile()
是一个我学得相对较快的方便工具,但后来我想如果只是为了踢球,我想格式化(大写)最后一个字符怎么办?或第三,中间的,等等。小写呢?用其他字符替换特定字符?
就像我说的那样,这肯定不是完美的,但可以为像我这样的其他菜鸟提供一些思考的食物。另外,我认为这可以通过数百种方式进行修改,以实现各种不同的格式。
帮助我改进我刚刚做的事情怎么样?如何让它更精简和平均?检查风格、方法、效率等...
它是这样的:
words = ['house', 'flower', 'tree'] #string list
counter = 0 #counter to iterate over the items in list
chars = 4 #character position in string (0,1,2...)
for counter in range (0,len(words)):
while counter < len(words):
z = list(words[counter]) # z is a temp list created to slice words
if len(z) > chars: # to compare char position and z length
upper = [k.upper() for k in z[chars]] # string formatting EX: uppercase
z[chars] = upper [0] # replace formatted character with original
words[counter] = ("".join(z)) # convert and replace temp list back into original word str list
counter +=1
else:
break
print (words)
['housE', 'flowEr', 'tree']