python的综合运用小问题

img


下面的第三行不是生成一个[very,important,person]的列表吗,x的零号位不就是very吗,为什么求出来不是very的大写而是每个首字母的大写?

最后一行是个列表生成式,表示在列表lst里遍历,分别把每个值赋给x,比如第一个循环x就等于very,然后对x这个字符串的[0]位,也就是第一个字母V取大写。然后再继续遍历lst下一个元素赋值给x。
所以最后结果是所有单词的首字母大写,也就是[V, I, P]

for x in lst 所以x 是lst里面的每个元素,你说的应该是list[0]=very

注意后面的

[x[0].upper()  for  x in lst]

中的for x in lst 这里就是每次一个单词啦。