Offer 驾到,掘友接招!我正在参与2022春招系列活动-刷题打卡任务,点击查看活动详情。
难度级别: 中级
预测以下 Python 程序的输出。
程序一:
nameList = ['Harsh', 'Pratik', 'Bob', 'Dhruv'] print nameList[1][-1]
输出:
ķ
说明:
索引位置 -1 表示列表中的最后一个元素或字符串中的最后一个字符。在上面给出的名称列表“nameList”中,索引1表示第二个元素,即第二个字符串“Pratik”,索引-1表示字符串“Pratik”中的最后一个字符。因此,输出为“k”。
程序二:
nameList = ['Harsh', 'Pratik', 'Bob', 'Dhruv'] pos = nameList.index("haiyong") print pos * 5
输出:
An Exception is thrown, ValueError: 'haiyong' is not in l
说明:
索引的任务是在给定列表中查找提供的值的位置。在上面的程序中,提供的值是“haiyong”,列表是 nameList。由于 haiyong 不在列表中,因此会引发异常。
程序三:
geekCodes = [1, 2, 3, 4] # 列表将看起来像 [1,2,3,4,[5,6,7,8]] geekCodes.append([5,6,7,8]) print len(geekCodes) print(geekCodes) #新列表将附加在 geekCodes 的索引 4 处。
输出:
5 [1,2,3,4,[5,6,7,8]]
说明:
append() 方法的任务是将传递的obj附加到现有列表中。但是,将列表传递给 append 方法不会合并两个列表,而是将传递的整个列表添加为列表的元素。所以输出是5。
程序四:
def addToList(listcontainer): listcontainer += [10] mylistContainer = [10, 20, 30, 40] addToList(mylistContainer) print len(mylistContainer)
输出:
5
解释:
在 Python 中,一切都是引用,引用是按值传递的。Python中的参数传递与Java中的引用传递相同。因此,函数可以修改传递参数所引用的值,即可以更改调用者范围内的变量值。这里“addToList”函数的任务是在列表中添加一个元素10,所以这会使列表的长度增加1。所以程序的输出是5。
如果大家发现任何不正确的地方,都可以在下方评论区告诉我,互相学习,共同进步!