入门Python必备100道练习题
Python基础习题
1、怎么计算2的3次方
解法1:直接用运算符
>>> 2**3
解法2:用函数 pow
>>> pow(2,3)
2、怎么找出序列中的最大值和最小值?
>>> l = (123, 888, 666)
>>> max(l)
888
>>> min(l)
123
3、怎么将字符列表转为字符串
>>> l = ['Python', 'Circle', 'is', 'ok']
>>> j = ' '.join(l)
>>> j
'Python Circle is ok'
4、怎么快速打印出包含所有 ASCII 字母(大写和小写)的字符串
>>> import string
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
5、怎么让字符串居中
>>> k = 小鱼Python
>>> k.center(50)
' 更多精彩,请关注「小鱼Python」 '
>>> k.center(50, '*')
6、怎么在字符串中找到子串
>>> ss = 'I Love Python'
>>> ss.find('I')
0
>>> ss.find('Python')
7
7、怎么让字符的首字母大写,其他字母小写
解法1:用 title 方法。
>>> ss = 'i love python'
>>> ss.title()
'I Love Python'
解法2:用 string 模块里的 capwords 方法。
>>> import string
>>> ss = 'i love python'
>>> string.capwords(ss)
'I Love Python'
9、怎么清空列表内容
解法1:用 clear 方法
>>> l = [1, 2, 3]
>>> l.clear()
>>> l
[]
解法2:用切片赋值的方法
>>> k = [1, 2, 3]
>>> k[:] = []
>>> k
[]
10、怎么计算指定的元素在列表中出现了多少次?
>>> l = ['i', 'am', 'ok', 'ok']
>>> l.count('ok')
2
11、怎么在列表末尾加入其它元素
>>> l = [1, 2, 3]
>>> j = [4, 5, 6]
>>> l.extend(j)
>>> l
[1, 2, 3, 4, 5, 6]
12、extend 和列表相加的区别?
>>> l = [1, 2, 3]
>>> j = [4, 5, 6]
>>> l + j
[1, 2, 3, 4, 5, 6]
13、怎么查找列表中某个元素第一次出现的索引,从 0 开始
>>> l = ['are', 'you', 'ok']
>>> l.index('you')
1
14、怎么将一个对象插入到列表中
解法1:用 insert 方法
>>> num = [1, 2, 4, 5]
>>> num.insert(2, 'three')
>>> num
[1, 2, 'three', 4, 5]
解法2:用切片的方式插入
>>> num = [1, 2, 4, 5]
>>> num[2:2] = ['three']
>>> num
[1, 2, 'three', 4, 5]
15、怎么删除列表中元素
>>> num = [1, 2, 4, 5]
>>> num.pop()
5
>>> num
[1, 2, 4]
>>> num.pop(1)
2
>>> num
[1, 4]
16、怎么删除列表中指定元素
>>> num
[1, 4]
>>> num = [1, 2, 4, 5, 4]
>>> num.remove(4)
>>> num
[1, 2, 5, 4]
remove 方法只会删除第一次出现的元素/
17、怎么让列表按相反顺序排列?
解法1:用 reverse 方法
>>> num = [1, 22, 45, 99, 49]
>>> num.reverse()
>>> num
[49, 99, 45, 22, 1]
解法2:用切片的方式
>>> num = [1, 22, 45, 99, 49]
>>> num[::-1]
[49, 99, 45, 22, 1]
18、怎么表示只包含一个元素的元组
>>> t= (1)
>>> type(t)
<class 'int'>
>>> t= (1,)
>>> type(t)
<class 'tuple'>
19、怎么批量替换字符串中的元素
>>> 'i love Python'.replace('o', 'ee')
'i leeve Pytheen'
20、怎么把字符串按照空格进行拆分
>>> 'i love Python'.split()
['i', 'love', 'Python']
Python进阶习题
1、怎么用for循环实现把字符串变成Unicode码位的列表
>>> st = '!@#$%^&*'
>>> codes = []
>>> for s in st:
codes.append(ord(s))
>>> codes
[33, 64, 35, 36, 37, 94, 38, 42]
2、怎么用列表推导式实现把字符串变成Unicode码位的列表
>>> st = '!@#$%^&*'
>>> codes = [ord(s) for s in st]
>>> codes
[33, 64, 35, 36, 37, 94, 38, 42]
3、打印出两个列表的笛卡尔积
解法1:使用生成器表达式产生笛卡尔积,可以帮忙省掉运行 for 循环的开销。
>>> colors = ['blacks', 'white']
>>> sizes = ['S', 'M', 'L']
>>> for tshirt in ('%s %s'%(c, s) for c in colors for s in sizes):
print(tshirt)
blacks S
blacks M
blacks L
white S
white M
white L
解法2:使用 itertools 里的 product 生成器函数。
>>> import itertools
>>> list(itertools.product(['blacks', 'white'], ['S', 'M', 'L']))
[('blacks', 'S'), ('blacks', 'M'), ('blacks', 'L'), ('white', 'S'), ('white', 'M'), ('white', 'L')]
4、可迭代对象拆包时,怎么赋值给占位符
>>> player_infos = [('Kobe', '24'), ('James', '23'), ('Iverson', '3')]
>>> for player_names, _ in player_infos:
print(player_names)
Kobe
James
Iverson
5、Python3 中,用什么方式接收不确定值或参数
>>> a, b, *c = range(8)
>>> a, b, c
(0, 1, [2, 3, 4, 5, 6, 7])
>>> a, *b, c, d = range(5)
>>> a,b,c,d
(0, [1, 2], 3, 4)
>>> *a, b, c, d = range(5)
>>> a,b,c,d
([0, 1], 2, 3, 4)
6、用切片将对象倒序
>>> s = 'basketball'
>>> s[::-1]
'llabteksab'
7、怎么查看列表的 ID
>>> l = [1, 2, 3]
>>> id(l)
4507638664
8、可变序列用*=(就地乘法)后,会创建新的序列吗?
>>> l = [1, 2, 3]
>>> id(l)
4507939272
>>> l *= 2
>>> l
[1, 2, 3, 1, 2, 3]
>>> id(l)
9、不可变序列用*=(就地乘法)后,会创建新的序列吗?
>>> t = (1, 2, 3)
>>> id(t)
4507902240
>>> t *= 2
>>> t
(1, 2, 3, 1, 2, 3)
>>> id(t)
4507632648
10、关于+=的一道谜题
t = (1, 2, [30, 40])
t[2] += [50, 60]
>>> t = (1, 2, [30, 40])
>>> t[2] += [50, 60]
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
t[2] += [50, 60]
TypeError: 'tuple' object does not support item assignment
>>> t
(1, 2, [30, 40, 50, 60])
搜索下方加老师微信
老师微信号:XTUOL1988【切记备注:学习Python】
领取Python web开发,Python爬虫,Python数据分析,人工智能等精品学习课程。带你从零基础系统性的学好Python!
*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权
评论