python编程记录

一、随机数

(1) random方法
import random
print(random.random())#random() 方法返回随机生成的一个实数,它在[0,1)范围内。
print( random.randint(1,10) )        # 产生 1 到 10 的一个整数型随机数  
print( random.random() )             # 产生 0 到 1 之间的随机浮点数
print( random.uniform(1.1,5.4) )     # 产生  1.1 到 5.4 之间的随机浮点数,区间可以不是整数
print( random.choice('tomorrow') )   # 从序列中随机选取一个元素
print( random.randrange(1,100,2) )   # 生成从1到100的间隔为2的随机整数

输出结果:

0.9533544313794844
3
0.12357939152069886
3.0678581346192715
w
13

(2)引用numpy
numpy.random.rand()

numpy.random.rand( d 0 , d 1 , . . . d n d_0,d_1,...d_n d0,d1,...dn),以给定的形状创建一个数组,并在数组中在[0,1]之间加入均匀分布的样本。

import numpy as np
arr=np.random.rand(10,1)
print(arr)
print(arr.shape)

输出结果:
[[0.16911084]
[0.08833981]
[0.68535982]
[0.95339335]
[0.00394827]
[0.51219226]
[0.81262096]
[0.61252607]
[0.72175532]
[0.29187607]]
(10, 1)

numpy.random.randn()

numpy.random.randn( d 0 , d 1 , . . . d n d_0,d_1,...d_n d0,d1,...dn),以给定的形状创建一个数组,数组元素符合标准正态分布N(0,1)。

numpy.random.randint()

numpy.random.randint(low,high=None,size=None,dtype),生成在半开半闭区间[low,high)上离散均匀分布的整数值;若high=None,则取值区间变为[0,low)。

arr_1=np.random.randint(3,size=10)
arr_2=np.random.randint(3,size=(10,1))
arr_3=np.random.randint(3,size=(1,10))
print(arr_1.shape)
print(arr_1)
print(arr_2.shape)
print(arr_2)
print(arr_3.shape)
print(arr_3)
print(np.random.randint(3,size=(3,3)))

输出结果:

(10,)
[0 0 2 0 2 1 2 1 1 2]
(10, 1)
[[0]
[2]
[1]
[0]
[1]
[1]
[0]
[1]
[2]
[0]]
(1, 10)
[[2 2 1 1 0 0 0 1 1 0]]
[[2 1 0]
[1 1 0]
[2 1 1]]

读取文件

读取File

读取的内容是列表,而且列表的元素是字符串,字符串由数字和空格组成。
list_1=['0.875 -0.92500001 0.025\n', '0.92500001 -0.92500001 0.025\n']
print(list_1)
print(len(list_1))
print(type(list_1[0]))
list_2=list_1[0].split(" ")#返回的对象仍是列表
print(list_2)
print(type(list_2[0]))
print(eval(list_2[0]))
print(type(eval(list_2[0])))

输出结果:
[‘0.875 -0.92500001 0.025\n’, ‘0.92500001 -0.92500001 0.025\n’]
2
<class ‘str’>
[‘0.875’, ‘-0.92500001’, ‘0.025\n’]
<class ‘str’>
0.875
<class ‘float’>

split函数

描述:拆分字符串。通过指定分隔符sep对字符串进行分割,并返回分割后的字符串列表
语法: str.split(sep=None, maxsplit=-1) -> list of strings 返回 字符串列表 或str.split(sep=None, maxsplit=-1)[n]

sep —— 分隔符,默认为空格,但不能为空即(")。
maxsplit —— 最大分割参数,默认参数为-1。
[n] —— 返回列表中下标为n的元素。列表索引的用法。
程序示例:

tr1 = "i love python"
str2 = "https://www.baidu.com"
str3 = "script<i love python>script"
str4 = "i \n love \n python"
print(str1.split()) #默认空格分割。
print(str2.split("."))#以"."为分隔符,maxsplit默认为-1
print(str2.split(".",-1)) #maxsplit为-1
print(str2.split(".",1)) #以"."为分隔符,分割一次。
print(str2.split(".")[1]) #分割后,输出列表中下标为1的元素
print(str3.split("<")[1].split(">")[0])
print(str4.split("\n")) #可用于去掉字符串中的"\n" "\t"等

输出结果:

[‘i’, ‘love’, ‘python’]
[‘https://www’, ‘baidu’, ‘com’]
[‘https://www’, ‘baidu’, ‘com’]
[‘https://www’, ‘baidu.com’]
baidu
i love python
['i ', ’ love ‘, ’ python’]

eval函数

(一)字符串转换成列表以及数组

a_1 = "[1,2], [3,4], [5,6], [7,8], [9,0]"
a_2= "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
print(type(a_1))
print(type(eval(a_2)))
b = eval(a_1)
print(type(b))
print(b)

输出结果:

<class ‘str’>
<class ‘list’>
<class ‘tuple’>
([1, 2], [3, 4], [5, 6], [7, 8], [9, 0])

(二)字符串转换成字典

a = "{1: 'a', 2: 'b'}"
print(type(a))
b = eval(a)
print(type(b))
print(b)

输出结果:

<class ‘str’>
<class ‘dict’>
{1: ‘a’, 2: ‘b’}

zip()函数

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。
使用min和max函数来巧妙的查找一个字典中的最大value和最小value。
现在想要找出账户内余额最多的用户,请问如何实现?
d1 = {‘suhaozhi’:12345,‘tony’:4513,‘eric’:135,‘jolin’:13000000}
很简单,只要使用zip函数结合max函数就可以做到了。
print max(zip(d1.values(),d1.keys()))
#元素和元素之间使用max或者min进行比较,是从元素的第一个位置开始比,如果已经分出大小,后面就不比了,直接按照这个顺序排列。

np.linalg.norm

np.linalg

max(num, key=lambda x:x[0])

max(num, key=lambda x:x[0])

列表

extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
extend()方法语法:

list.extend(seq) #seq元素列表

该方法没有返回值,但会在已存在的列表中添加新的列表内容。

字典

python 中字典{ }的嵌套

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值