len(ls):列表ls的元素个数(长度)。
range(start, stop[, step])表示计数从start开始,到stop结束,但不包括stop,步长默认为1。start默认从0开始,range(len(x))等价于range(0,3),则i的取值范围为0、1、2。
zip():将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
由题面可知,每个键值对的值都是一样的。
set(x)函数将其他的组合数据类型变成集合类型,返回结果是一个无重复且排序任意的集合。4个选项中只有hlbst符合无重复的要求。
zip()函数将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
x[0]=90,y[0]= "Aele",依此类推,能输出题面要求键值对的语句是z[i] = [x[i],y[i]]。
replace(old,new)方法将字符串中的old(旧字符串)替换成new(新字符串),old和new的长度可以不同。
x=4,if判断条件成立,将字符串ca中索引序号为4的元素(即第5个元素),换成字符'2',则输出123426。
列表ls中的元素是数字类型,判断条件中的'44'是字符串类型,所以判断条件不符合,最后输出not found it ...。
全局变量指在函数之外定义的变量,在程序执行全过程有效。
ss是全局变量,最后输出为10,hub()函数没有返回值,最后输出为None。
{}用于生成一个空字典,d.items()返回所有的键值对。在本题中,变量it中每一次循环存储一对键值对。题面要求将每一对键值对的键和值交换位置,使用语句stb[it[1]] = it[0]。
ls.copy():复制ls中所有元素生成一个新列表。
题目中列表L1使用.copy()方法复制后赋值给变量L2,L2中元素的改变不会影响L1,所以最后输出L1的内容为[1, 2, 3, 4]。
列表对象的赋值和拷贝函数操作的差别,后者是给第二个对象复制了一份新的变量;因此修改了ls2的内容,则ls1并没有改变
ls.reverse():将列表ls中的元素进行逆序反转。
对于列表类型,使用等号无法实现真正的赋值,不能产生新列表。ls2 = ls1语句并不是拷贝ls1中的元素给变量ls2,而是新关联了一个引用,即增加一个别名,ls1和ls2所指向的是同一套内容,所以修改了ls2的内容,ls1也是随之改变的。
Python通过保留字for实现遍历循环,使用方法如下:
for in
遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于每个所提取的元素执行一次语句块。for语句的循环执行次数是根据遍历结构中元素个数确定的。
chr(x)返回Unicode编码x对应的单字符,ord(x)返回单字符x表示的Unicode编码。
代码一开始生成一个空字典,第一个for循环用于向其中添加字典元素。range(26)表示i的取值范围是0至25之间的整数(包括0与25)。"a"对应的Unicode编码为97。
i=0时,chr(ord("a"))='a',chr((13) % 26 + ord("a"))=chr(13+97)= 'n',则第三行赋值语句简化为d['a']='n',此时字典d为{'a': 'n'}。
i=1时,chr(1+ord("a"))= 'b',chr((1+13) % 26 + ord("a"))=chr(14+97)= 'o',则第三行赋值语句简化为d['b']='o',此时字典d为{'a': 'n', 'b': 'o'}。
依次类推,
最后得出字典d为{'a': 'n', 'b': 'o', 'c': 'p', 'd': 'q', 'e': 'r', 'f': 's', 'g': 't', 'h': 'u', 'i': 'v', 'j': 'w', 'k': 'x', 'l': 'y', 'm': 'z', 'n': 'a', 'o': 'b', 'p': 'c', 'q': 'd',