python学习--随机数与模块、推导

1.random函数

rondom代表的就是随机数

import  random

时间戳(此时此刻),种子

时间戳 1970年1月1日之后的秒,即:time.time()

代码为:
print(time.time())

1、随机数

random.choice(range(1,33))随机取1-33之间的1个随机数,可能重复

import random
print(random.choice(range(1,33)))

此时输出一个随机数

random.choices(range(1,33),k=6,weight=range(1,34))方法,可以产生6个,但有可能重复,

print(random.choices(range(1,33),k=9,weights=range(1,33)))

在这里weights代表这权重,所以数列中的六个数字有可能随机出现。

常用:shus=random.sample(range(1,30),6)随机取6个,不重复,得到一个列表,但是没有排序

print(random.sample(range(1,30),6))

============

在这些代码中 random后面接的choice choices sample 为python给我们的库,其中包含着随机数(数列),看自己的需要去引入。

2、模块:模块是把已经写好的代码看做是一个模块,导入到当前已经写好的代码中(它是函数功能的扩展,可以实现一项或者多项程序块)

(1)如何导入模块;

在python中一个程序要使用某个模块(例如、我要使用“math”文件作为我的模块),代码如下:

input(math)
print(math).pi

(2)python模块-- sys模块

  在python中 有些模块是不需要我们自己去定义的,python官方提供自带的模块,这些模块是伴随着python的安装而产生的,通常我们把这些模块叫做标准库模块 它是一类模块 而不是特指的某种模块

例如下面的代码

sys.version (获取Python解释程序的版本信息)


sys.maxint (最大的Int值)


sys.path (返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值)


sys.platform (返回操作系统平台名称)


sys.stdout.write('please:')


val = sys.stdin.readline()[:-1]


注意:当我们print(sys.path)路径时。打印后是一个列表,可以向其中追加路径

reload()可以重新加载路径

**模块互相调用不可以,会产生死锁


3、推导

推导式是Python中很强大的、很受欢迎的特性,具有语言简洁,速度快等优点。推导式包括:


1.列表推导式
2.字典推导式

3.集合推导式

(1)列表推导式

例一 整除三的数字列表

numbers=[]
for x in range(0,100):
    if x % 3 == 0:
        numbers.append(x)
print(numbers)

推导后 表达式为

nums=[x for x in range(100) if x%3==0]
print(nums)
(2)、字典推导式
字典推导和列表推导的使用方法是类似的,只不过中括号该改成大括号。直接举例说明:
例1:快速更换key和value
mcase = {'a': 10, 'b': 34}
mcase_frequency = {v: k for k, v in mcase.items()}
print(mcase_frequency)
(3)、集合推导式
它们跟列表推导式也是类似的。 唯一的区别在于它使用大括号{}。

============

推导式的原理图

python学习--随机数与模块、推导

推导式练习题

1、输入1--9的平方

nums=[x**2 for x in range(10)]
print(nums)

2、有 x,y两个 x为1--5的偶数 y为1--5中的奇数 以(x,y)的形式输出x

T=[(x,y) for x in range(5) if x%2==0 for y in range(5) if y%2==1]
print(T)

输出结果为

[(0, 1), (0, 3), (2, 1), (2, 3), (4, 1), (4, 3)]

3、m=[[1,2,3],[4,5,6],[7,8,9]],(1)输出369(2)输出357

(1)

m=[[1,2,3],[4,5,6],[7,8,9]]
print([x[2] for x in m])

(2)

m=[[1,2,3],[4,5,6],[7,8,9]]
print([m[x][len(m)-1-x] for x in range(len(m)) ])