一、单选题
1.执行如下操作后输出结果为:____________
s =[ "seashell" , "gold" , "pink" , "brown" , "purple" , "tomato"]
print(s[4:])
A.['seashell', 'gold', 'pink', 'brown']
B.['gold', 'pink', 'brown', 'purple', 'tomato']
C.['purple', 'tomato']
D.['purple']
答案:C
解析:s[4:] 表示从索引为4的元素(包括索引为4的元素)开始,一直到列表末尾的所有元素。因此结果是['purple', 'tomato']。
2.对于
b=[1,2,5,8]
,b[2:3]
是A.5
B.[5]
C.[2,5]
D.[5,8]
答案:B
解析:在Python中,b[2:3]表示从列表b中截取索引为2到3的元素(左闭右开区间),切片操作 b[2:3] 包括索引 2 的元素,但不包括索引 3 的元素。因此结果是 [5]。实际上,对于 b=[1,2,5,8],b[2:3] 的结果是 [5] 而不是 5。因为切片操作会返回一个包含所选范围内元素的新列表,而不是单个元素。
3.列表
a = [['Li', 29, 68], ['He', 87, 63], ['Mei', 48, 72]]
,那么a.sort(key=lambda x: sum(x[1:]), reverse=True)
执行后,列表a变为A.
[['Li', 29, 68], ['He', 87, 63], ['Mei', 48, 72]]
B.
[['He', 87, 63], ['Mei', 48, 72],['Li', 29, 68]]
C.
[['Mei', 48, 72],['He', 87, 63],['Li', 29, 68]]
D.
[['Li', 97], ['He', 150], ['Mei', 120]]
答案:B
解析:
首先,让我们解释一下这个
sort
方法的参数:
key=lambda x: sum(x[1:])
:这个参数表示对列表中的每一个元素(在这个例子中,每一个元素是一个列表),计算其从索引1到最后的元素之和(也就是第2和第3个元素之和)。这个和被用作排序的依据。reverse=True
:表示要按降序排序。现在,根据这个规则,我们来对原列表进行排序:
a = [['Li', 29, 68], ['He', 87, 63], ['Mei', 48, 72]]
首先计算每个子列表的第2和第3元素之和:
Li
: 29 + 68 = 97He
: 87 + 63 = 150Mei
: 48 + 72 = 120按降序排序,得到:
He
: 150Mei
: 120Li
: 97所以,执行
a.sort(key=lambda x: sum(x[1:]), reverse=True)
后,列表a
变为:a = [['He', 87, 63], ['Mei', 48, 72], ['Li', 29, 68]]
tips:在Python中,sort()函数默认是升序排序。这意味着如果我们直接调用sort()函数,那么它会按照从小到大的顺序排序。
4.执行下述代码后,得到的 a,b的值分别是
slist = [1, 10, "小明", 99.0, 88.5, 10]
a = slist.index("小明")
b = slist.index(10)
A.2,1
B.1,0
C.3,2
D.2,5
答案:A
解析:slist = [1, 10, "小明", 99.0, 88.5, 10]
a = slist.index("小明") # "小明" 在 slist 中的索引是 2,所以 a = 2
b = slist.index(10) # 10 在 slist 中首次出现的索引是 1,所以 b = 1
所以答案是 (2, 1),即选项 A。
5.字符串tstr=’television’,显示结果为vi的选项是( )。
A.print(tstr[-6:6])
B.print(tstr[5:7])
C.print(tstr[4:7])
D.print(tstr[4:-2])
答案:A
解析:A选项起始位置是-6,也就是从右到左,从-1开始编号,到v的位置下标为-6(包括),终止位置是6,也就是从左到右,从0开始编号,6的位置是'vis'中的s,由于不包括s,也就是取到了'vi'
6.
print("hello,world".split(‘o’)
的结果是A.
[‘hell’,’w’,’rld’]
B.
[‘hell’,’wrld’]
C.
[‘hell’,’,w’,’rld’]
D.
[‘hello’,’,world’]
答案:C
解析:首先,我们要理解Python中的
split()
方法。这个方法用于将字符串按照给定的分隔符进行分割,并返回一个包含分割后子字符串的列表。在给出的代码
print("hello,world".split('o'))
中,我们使用split('o')
来分割字符串"hello,world"
。分隔符是'o'
。现在,我们来看选项C
[‘hell’,’,w’,’rld’]
:
‘hell’
:这是从索引0到分隔符'o'
之间的子字符串。‘,w’
:这是从分隔符'o'
到下一个分隔符(这里是逗号)之间的子字符串,包括逗号。‘rld’
:这是从逗号后的分隔符到字符串结尾的子字符串。所以,当你运行
print("hello,world".split('o'))
,输出应该是[‘hell’,’,w’,’rld’]
。因此,选项C是正确的。
7.下面代码的输出结果是()。
s = "The python language is a cross platform language."
print(s.find('language',30))A.11
B.系统报错
C.10
D.40
答案:D
解析:首先,我们需要理解Python中的
find()
方法。这个方法用于在字符串中查找子字符串,并返回子字符串首次出现的最低索引。如果没有找到子字符串,它将返回-1。在给出的代码中,
s.find('language',30)
表示从索引30开始查找子字符串'language'。现在,我们来一步步分析代码。字符串s的内容是 "The python language is a cross platform language.",如果我们从索引30开始查找'language',我们会发现'language'从索引40开始。
因此,
s.find('language',30)
将返回40。所以,正确答案是D. 40。
8.以下代码的输出结果是( )。
s="123"; t="456"; t=int(s+t); print(t)
A.123456
B.579
C.456
D.语句出错
答案:A
解析:首先,让我们分析这段代码:
s = "123" t = "456" t = int(s + t) print(t)
代码的逻辑是:
- 定义字符串
s
,其值为"123"。- 定义字符串
t
,其值为"456"。- 将
s
与t
进行连接,结果为"123456",然后将这个连接后的字符串转化为整数,赋值给t
。- 打印
t
的值。根据上述逻辑,
t
的最终值是整数123456。所以,输出结果是:
A. 123456
是正确答案。