1过滤掉列表中长度小于3的字符串,并将剩下的转换成大写字母
代码块
lst=['wangsiyu','nez','zhangdejun','xus','hulud']
new=[i.upper() for i in lst if len(i)>3]
print(new) #['WANGSIYU', 'ZHANGDEJUN', 'HULUD']
2. 求(X,Y),其中X是0-5之间偶数,Y是0-5之间奇数组成的元组组合里列表
代码块
res=[]
for i in range(6):
if i %2==0:
for l in range(6):
if l%2==1:
res.append((i,l))
print(res) #[(0, 1), (0, 3), (0, 5), (2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)]
代码块:使用列表推倒式
res=[(x,y) for x in range(6) if x%2==0 for y in range(6) if y%2==1]
print(res)
3.将M=[[1,2,3],[4,5,6],[7,8,9]]变成[3,6,9]
代码块
M=[[1,2,3],[4,5,6],[7,8,9]]
res=[]
for i in M:
res.append(i[2])
print(res)
4. M=[3,6,9]变成[[1,2,3],[4,5,6],[7,8,9]]
代码块
M=[3,6,9]
res=[]
for i in M:
a=[i-2,i-1,i]
res.append(a)
print(res) #[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
代码块:第二种方法
M=[3,6,9]
res=[[i-2,i-1,i] for i in M]
print(res)
5. range的步长参数
代码块
for i in range(1,10,2): # 从1到9,隔2个取值
print(i,end=' ') #1 3 5 7 9
print()
for i in range(20,10,-2):
print(i,end= ' ') #20 18 16 14 12
6.迭代器iter()和next()
代码块
res=list(range(10))
a=iter(res) #就等于res.__iter__()
print(next(a)) #就等于res.__next__()
print(next(a)) #就等于res.__next__()
print(next(a)) #就等于res.__next__()
7. print()函数的参数
代码块
print('wangsiyu','mayun',sep='__',end='我是结尾') #wangsiyu__mayun我是结尾
8. hash算法
目的是唯一性
dict 查找效率非常高, hash表.用空间换的时间 比较耗费内存
代码块
name='wangsiyu'
print(hash(name)) #-1029105058
num=123
print(hash(num)) #123
lst=[1,2,3,4]
# print(hash(lst)) #列表可变,不能hash
9. 动态导入模块
代码块
import os
mo=input('请输入你要导入的模块:')
__import__(mo)
print(dir(mo)) #打印该模块下的方法
10. 用help()帮助自己
print(help(input))
11, 打印某个变量的类型
代码块
name=123
print(type(name)) #<class 'int'>
12, 十进制,八进制,十六进制之间的转换
代码块
print(bin(10)) #十进制转二进制
print(hex(10)) #十进制转十六进制
print(oct(10)) #十进制转八进制
13. callable()查看是否可以被调用
代码块
def func():
print(333)
name='wangsiyu'
print(callable(func)) #True
print(callable(name)) #False
14 eval()函数
代码块
res=input('请输入a+b:')
print(eval(res)) #可以动态执行,必须有返回值
15 exec,eval,compile
代码块
code='for i in range(10):print(i)'
res=compile(code,'',mode='exec') #编译
print(res) #<code object <module> at 0x02A69B78, file "", line 1>
exec (res) #执行
code2='4+6+7'
res2=compile(code2,'',mode='eval')
print(res2) #<code object <module> at 0x03989C28, file "", line 1>
print(eval(res2)) #17
code3="name=input('请输入姓名')"
res3=compile(code3,'',mode='single')
exec (res3)
16. encode/decode/bytesarray/bytes
代码块
a='骑行'
res1=a.encode('utf-8')
print(res1) #b'\xe9\xaa\x91\xe8\xa1\x8c'
res2=res1.decode('utf-8')
print(res2) #骑行
b=bytes('人民',encoding='utf-8')
print(b) #b'\xe4\xba\xba\xe6\xb0\x91'
print(b.decode('utf-8'))
c=bytearray('日本',encoding='utf-8')
print(c.decode('utf-8'))
17 查看字节在内存中的地址
代码块
name='中国'.encode('utf-8')
print(name)
loca=memoryview(name)
print(loca) #<memory at 0x02C4CF38>
print(id(name)) #47469152
18 enumerate枚举的使用
代码块
name=['wangsiyu','nezha','sunwukong','xusong']
for i,l in enumerate(name):
print(i,l)
# 输出:
# 0 wangsiyu
# 1 nezha
# 2 sunwukong
# 3 xusong
19 zip函数的使用
代码块
name=['wangsiyu','nezha','xusong']
age=['17','32','19']
hobby=['sex','kiss','sleep']
for i in zip(name,age,hobby):
print(i)
输出:
('wangsiyu', '17', 'sex')
('nezha', '32', 'kiss')
('xusong', '19', 'sleep')
20 其它内置函数
代码块
print(sum(list(range(10)))) #sum求和
var='你好啊'
res=reversed(var)
print(tuple(res)) #('啊', '好', '你')
lst=[1,2,3,4,5,6,7,8]
print(lst[1:5:2]) #[2, 4]
name='你好\n%我是爸爸'
print(name)
print(repr(name)) #'你好\n%我是爸爸' 原样输出
print(ord('a')) #97返回a在ascii表中的位置
print(ord('智')) #返回在国标码的位置 26234
print(chr(97)) #知道位置,计算字符
print(chr(26234)) #智
for i in range(128): #打印ascii表的内容
print(chr(i),end=' ')
别跑,点个赞再走
网友评论