Python 面试 100 题
题目来自:https://mp.weixin.qq.com/s/Z3afF58zIX0OWpgUM-9djQ
Python 语感训练涵盖列表、字典、元组、集合、字符串、格式化输出、类型和整数转换、文件读写、杂项等9个类别,共100道练习题Python 语感训练涵盖列表、字典、元组、集合、字符串、格式化输出、类型和整数转换、文件读写、杂项等9个类别,共100道练习题。
自己慢慢完成这些题目:
1
2
3
41. 将元组 (1,2,3) 和集合 {4,5,6} 合并成一个列表。
>>> list((1,2,3)) + list({4,5,6})
[1, 2, 3, 4, 5, 6]
1
2
3
4
5
6
72. 在列表 [1,2,3,4,5,6] 首尾分别添加整型元素 7 和 0。
>>> a = [1,2,3,4,5,6]
>>> a.insert(0,7)
>>> a.append(0)
>>> print(a)
[7, 1, 2, 3, 4, 5, 6, 0]
1
2
3
4
5
6
7
8
9
10
113. 反转列表 [0,1,2,3,4,5,6,7] 。
a = [0,1,2,3,4,5,6,7]
a.reverse()
print(a)
或
a = [0,1,2,3,4,5,6,7]
a[::-1]
print(a)
1
2
3
4
5
64. 反转列表 [0,1,2,3,4,5,6,7] 后给出中元素 5 的索引号。
a = [0,1,2,3,4,5,6,7]
a.reverse()
a.index(5)
Out[4]: 2
1
2
3
4
5
65. 分别统计列表 [True,False,0,1,2] 中 True,False,0,1,2的元素个数,发现了什么?
a = [True,False,0,1,2]
a.count(True),a.count(1),a.count(False),a.count(0),a.count(2)
Out[11]: (2, 2, 2, 2, 1)
# count()不区分True和1、False和0,但None、''不会被视为False
1
2
3
4
5
66. 从列表 [True,1,0,‘x’,None,‘x’,False,2,True] 中删除元素‘x’。
a = [True,1,0,'x',None,'x',False,2,True]
while 'x' in a:
a.remove('x')
print(a)
1
2
3
4
57. 从列表 [True,1,0,‘x’,None,‘x’,False,2,True] 中删除索引号为4的元素。
list = [True,1,0,'x',None,'x',False,2,True]
del list[4]
print(list)
1
2
3
4
5
6
78. 删除列表中索引号为奇数(或偶数)的元素。
list = [True,1,0,'x',None,'x',False,2,True]
#去掉基数下标
print(list[::2])
#去掉偶数下标
print(list[1::2])
1
2
3
4
5
6
7
8
9
10
119. 清空列表中的所有元素。
list = [True,1,0,'x',None,'x',False,2,True]
list = []
print(list)
# or
list = [True,1,0,'x',None,'x',False,2,True]
list.clear()
print(list)
1
2
3
4
5
6
7
810. 对列表 [3,0,8,5,7] 分别做升序和降序排列。
a = [3,0,8,5,7]
a.sort()
print(a)
a.sort(reverse=True)
print(a)
1
2
3
4
5
6
7
8
911. 将列表 [3,0,8,5,7] 中大于 5 元素置为1,其余元素置为0。
a = [3,0,8,5,7]
for i in range(0, len(a)):
if a[i] > 5:
a[i] = 1
else:
a[i] = 0
print(a)
1
2
3
4
512. 遍历列表 [‘x’,‘y’,‘z’],打印每一个元素及其对应的索引号。
a = ['x','y','z']
for i in range(0,len(a)):
print(i,a[i])
1
2
3
4
5
6
7
8
9
10
11
1213. 将列表 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 拆分为奇数组和偶数组两个列表。
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
odd = []
even = []
for i in a:
if i % 2:
even.append(i)
else:
odd.append(i)
print(even)
print(odd)
1
2
3
4
5
6
7
8
9
1014. 分别根据每一行的首元素和尾元素大小对二维列表 [[6, 5], [3, 7], [2, 8]] 排序。
a = [[6, 5], [3, 7], [2, 8]]
print(a)
b = sorted(a, key=(lambda x:x[0]))
print(b)
c = sorted(a, key=(lambda x:x[-1]), reverse=True)
print(c)
1
2
3
4
5
6
7
8
9
10
11
1215. 从列表 [1,4,7,2,5,8] 索引为3的位置开始,依次插入列表 [‘x’,‘y’,‘z’] 的所有元素。
#两种插入形式
a = [1,4,7,2,5,8]
b = ['x','y','z']
a.insert(3, b)
print(a)
a = [1,4,7,2,5,8]
b = ['x','y','z']
a[3:3] = b
print(a)
阅读全文