随机数
时间 戳:种子
随机取1--33之间的1个随机数,可能重复 import random print(random.choice(range(1,33)))
如图:
遍历33次: import random for i in range(33): print(random.choice(range(1, 33)))
如图:
![](https://i-blog.csdnimg.cn/blog_migrate/daf32def3af254d2e255b6e14e7bab15.png)
如图:
随机取6个数,并且不重复,但是没有排序
print(random.sample(range(1,33),6))
print(random.sample(range(1,33),6))
如图:
导入模块:从你的第一个包到你所要导入的文件,一级一级往下写用 . 连接
即:和磁盘路径相似
即:和磁盘路径相似
如:
from 基础.面向对象.单例模式 import singleton
num=singleton
print(num)
导入文件里面的所有的类:
如:
from 基础.面向对象.单例模式 import *
即: 把类名换成 *
from 基础.面向对象.单例模式 import singleton
num=singleton
print(num)
导入文件里面的所有的类:
如:
from 基础.面向对象.单例模式 import *
即: 把类名换成 *
推导:具有语言简洁,速度快等优点。
推导式包括: 1.列表推导式 2.字典推导式 3.集合推导式
例1:整除3的数字列表
numbers = []
for x in range(100):
if x % 3 == 0:
numbers.append(x)
print(numbers)
如图:
![](https://i-blog.csdnimg.cn/blog_migrate/4b735bbf841ca9589eac9d707df9f61d.png)
列表推导:
nums = [x for x in range(100) if x%3==0]
print(nums)
如图:
def squared(x):
return x*x
nums = [squared(x) for x in range(100) if x%3==0]
print(nums)
return x*x
nums = [squared(x) for x in range(100) if x%3==0]
print(nums)
如图:
nums1 = [x for x in range(100) if x%3==0]
#nums=(推导) :生成器
# nums此时并没有执行 而是创建了一个生成器
nums =(x for x in range(100) if x%3==0)
print( [y for y in nums]) #在这才开始执行
print(nums1)
# nums此时并没有执行 而是创建了一个生成器
nums =(x for x in range(100) if x%3==0)
print( [y for y in nums]) #在这才开始执行
print(nums1)
如图:
![](https://i-blog.csdnimg.cn/blog_migrate/82587e00fade1c980eb5461bf9db7020.png)
二、字典推导式
字典推导和列表推导的使用方法是类似的,只不过中括号该改成大括号。直接举例说明:
例1:快速更换key和value
1.
mcase = {'a': 10, 'b': 34}
new_m = {k:v for k,v in mcase.items()}
# items:二级获取,即:获取'a'和10
print(new_m)
如图:
![](https://i-blog.csdnimg.cn/blog_migrate/aa7e5ffd97269fe50cae3adf27125d77.png)
2.反过来
new_m={}
for k,v in mcase.items():
new_m[v] = k
print(new_m)
如图:
三、集合推导式
它们跟列表推导式也是类似的。 唯一的区别在于它使用 大括号{}。
set1 = {x**2 for x in (1,2,2,6,4,5)}
print(set1)
它们跟列表推导式也是类似的。 唯一的区别在于它使用 大括号{}。
set1 = {x**2 for x in (1,2,2,6,4,5)}
print(set1)
如图:
![](https://i-blog.csdnimg.cn/blog_migrate/12c8287287131bf2ab50713563000fd5.png)
例1: 用集合推导 字符串长度的集合
strings = ['a','is','with','if','file','exception']
lens = [len(s) for s in strings]
print(lens)
如图:
![](https://i-blog.csdnimg.cn/blog_migrate/ec7e271beaf45e3ff24b81e16e5c005e.png)
求 0到9 的平方
num = [x**2 for x in range(0,10)]
print(num)
如图:
2.求(x,y)其中x是0-5之间的偶数,y是0-5之间的奇数组成的元祖列表
L = []
for x in range(6):
if x%2==0:
for y in range(6):
if y%2==1:
L.append((x,y))
print(L)
LL = [(x,y) for x in range(6) if x%2==0 for y in range(6) if y%2==1 ]
print(LL)
L = []
for x in range(6):
if x%2==0:
for y in range(6):
if y%2==1:
L.append((x,y))
print(L)
LL = [(x,y) for x in range(6) if x%2==0 for y in range(6) if y%2==1 ]
print(LL)
如图:
![](https://i-blog.csdnimg.cn/blog_migrate/894373dfd21df9c9d3811520fb08361b.png)
求:1 5 9
m = [[1,2,3],[4,5,6],[7,8,9]]
print([m[x][x] for x in range(len(m))])
如图:
![](https://i-blog.csdnimg.cn/blog_migrate/27b223c406385bdaad64a37818e4abf3.png)
求: 3 5 7
m = [[1,2,3],[4,5,6],[7,8,9]]
print([m[x][len(m)-1-x] for x in range(len(m))])
如图:
![](https://i-blog.csdnimg.cn/blog_migrate/2e46ad38c28437faf5ccff866037a70c.png)
完毕!