-
假设你有一个嵌套的列表
nested_lst = [[1, 2], [3, 4], [5, 6]]
,你想要创建一个新列表,其中包含所有子列表的第一个元素,但不包括子列表本身。你应该使用哪种方法?A.
[x[0] for x in nested_lst]
B.
[x for x in nested_lst[0]]
C.
nested_lst.pop(0) for _ in nested_lst
D.
[x for sublist in nested_lst for x in sublist[0]]
【答案】A
-
有一个列表
lst = [1, 2, 3, 4, 5]
,你想要创建一个新列表,其中包含原列表中所有元素的平方,但只保留那些平方后仍为奇数的元素。你应该怎么做?A.
[x**2 for x in lst if x**2 % 2 == 1]
B.
[x for x in lst if x % 2 == 1 and x**2 in lst]
C.
filter(lambda x: x**2 % 2 == 1, lst)
D.
[x**2 for x in lst if x % 2 == 1]
【答案】A
-
有一个列表
lst = [1, 2, 2, 3, 4, 5, 5, 5]
,你想要删除列表中所有的重复元素,只保留第一次出现的元素。你应该怎么做?(注意:不使用集合)A.
lst = [x for i, x in enumerate(lst) if x not in lst[:i]]
B.
lst = list(dict.fromkeys(lst))
C.
lst = [lst[i] for i in range(len(lst)) if lst[i] not in lst[i+1:]]
D.
lst.remove(x) for x in lst[1:] if x in lst[:-1]
【答案】A
-
有一个列表
lst = [1, 2, 3, 4, 5]
,下列选项能将lst变为[5, 4, 3, 2, 1]
的有:
A.lst = lst.sort(reverse=True)
B.lst = lst[::-1]
C.sorted(lst, reverse=True)
D. 上面三个操作都行
【答案】B -
阅读下面代码:
lst = [1, 2, 3] lst_1 = lst.copy() lst[1] = "gzh: PyGo学习笔记" print(lst, ",", lst_1)
得到的答案是:
A.[1, 'gzh: PyGo学习笔记', 3] , [1, 'gzh: PyGo学习笔记', 3]
B.[1, 2, 3] , [1, 2, 3]
C.[1, 'gzh: PyGo学习笔记', 3] , [1, 2, 3]
D.[1, 'gzh: PyGo学习笔记', 3] , [1, 'gzh: PyGo学习笔记', 3]
【答案】C -
阅读下面代码:
lst = ["关注gzh", 2, 3] lst_1 = [lst] lst_2 = lst_1.copy() lst[1] = "PyGo学习笔记" lst[2] = "有学习资料领哦!!" print("lst_1:", lst_1, "lst_2:", lst_2)
得到的答案是:
A. lst_1:[['关注gzh', 'PyGo学习笔记', '有学习资料领哦!!']]
lst_2:[["关注gzh", 2, 3]]
B. lst_1:[["关注gzh", 2, 3]]
lst_2:[['关注gzh', 'PyGo学习笔记', '有学习资料领哦!!']]
C. lst_1:[["关注gzh", 2, 3]]
lst_2:[["关注gzh", 2, 3]]
D. lst_1:[['关注gzh', 'PyGo学习笔记', '有学习资料领哦!!']]
lst_2:[['关注gzh', 'PyGo学习笔记', '有学习资料领哦!!']]
【答案】D -
阅读下面代码:
import copy lst = [1, 2, 3] lst_1 = [lst, 666, lst] lst_2 = copy.deepcopy(lst_1) lst[0] = 999 print("lst_1:", lst_1, "lst_2:", lst_2)
得到的答案是:
A. lst_1:[[999, 2, 3], 666, [999, 2, 3]]
lst_2:[[1, 2, 3], 666, [1, 2, 3]]
B. lst_1:[[999, 2, 3], 666, [999, 2, 3]]
lst_2:[[999, 2, 3], 666, [999, 2, 3]]
C. lst_1:[[1, 2, 3], 666, [1, 2, 3]]
lst_2:[[1, 2, 3], 666, [1, 2, 3]]
【答案】A -
下面能够正常生成 1 ~ 100 内奇数的列表的选项有:
A.[x * 2 + 1 for x in range(50)]
B.[x for x in range(1, 100, 2)]
C.[x for x in range(100) if x % 2 == 1]
D. 以上三个选项都对
【答案】D -
阅读下面代码:
lst = [1, 2, 3] lst_1 = [4, 5, 6] print([[x, y] for x in lst for y in lst_1])
得到的答案是:
A.[[1, 4], [1, 5], [1, 6], [2, 4], [2, 5], [2, 6], [3, 4], [3, 5], [3, 6]]
B.[[1, 4], [2, 5], [3, 6]]
C.[[1, 4], [1, 5], [1, 6]]
D.[[1, 4], [2, 4], [3, 4]]
【答案】A -
有列表lst、lst_1:
lst = [1, 2, 3] lst_1 = [4, 5, 6]
如果想通过lst、lst_1列表推导式得到
[[2, 4], [2, 5], [2, 6]]
,下面做法正确的是:
A.[[x, y] for x in lst if x % 2 == 0 for y in lst_1]
B.[[x, y] for x in lst for y in lst_1 if x % 2 == 0]
C. A、B两种方法都可以
D. A、B两种方法都不行
【答案】C
08-18