python 程序设计

import sys
s=sys.stdin.readline().split()

for line in sys.stdin:

s = sys.stdin.read().strip().split()

line1=input()

line2 = input().split()

line3=input().strip().split()

list=[ ]

list=n*['1']

data = list(range(n))

列表中字符串转化成数字
data = ['1','3.2','2']  
data = map(eval, data)  
print data  


 //输入一组                 //数据并输出 
                                  str=raw_input()
                                  print str

                                  //输入多组数据并输出 
                                  import sys 
                                  for line in sys.stdin: 
                                      for value in line.split(): 
                                          print(value) 

  1. 语言类型:数字,字符串,元组,列表,文件,字典
1) 数字类型(math库)
整数(0x16进制,0b二进制,0o八进制 )
浮点数类型:>>>import sys >>>sys.float_info
                      科学计算法 <a>e<b>=a*10^b
复数:实数z.real;虚数z.imag
转换:int(),float(),complex(),不支持将复数转换成其他类型
判断数字类型:type(x)
2) 字符串
type(x)
语言转义符:\ ,\\可以输出带有转移符的字符串,\n 打印空格
编号为"索引",最右侧索引为-1
(+)链接字符串
(*)数个字符串链接
<string>.upper()字母大写
<string>.lower()字母小写
<string>.capitalize()首字母大写
<string>.strip()去两边空格及去指定字符
<string>.split()分割字符串为数组
<string>.isdigit()判定有无数字类型
<string>.find()搜索指定字符串
<string>.replace()字符串替换
遍历所有字符串:for <var> in <string>
3)元组(定义后不能修改,代码安全,用列表较灵活)
元组可以含有多个类型的元素,且可以含元组 t3=1,23,"hello",("hi","china")
可用(+),(*)运算
4)列表:有序的元素集合,元素类型可以不一样
列表可以修改,可以(+),(*)
<var> in <list>,判断是否在列表中
<list>.append(x) 在列表后增加元素x
<list>.sort()列表元素排序
<list>.reverse()列表元素反转
<list>.index()返回第一次出现元素x的索引值
<list>.insert(i,x)在位置i插入新元素x
<list>.count(x)元素x在列表中的数量
<list>.remove(x)删除列表中第一次出现的元素x
<list>.pop(i)取出列表中位置i的元素,并删除
<string>.spilt()字符串拆分成列表

2.math库
ceil(x)浮点数向上取整
floor(x)浮点数向下取整
pow(x,y)x的y次方
log(x)=lg(x) 以e为基的对数
log10(x),sqrt(x),sin(x)
exp(x)e的x次幂
degrees(x)弧度值转换成角度值
radians(x)角度值转换成弧度

3.random库(随机数)
from random import *
seed(x) 给随机数一个种子,相同种子数,输出的数是一样的
random() [0,1.0]的随机小数
uniform(a,b) [a,b]的随机小数
randint(a,b) [a,b]的随机整数
randrange(a,b,c) 随机生成从a开始到b以c递增的数
choice(<list>) 列表中随机返回一个元素
suffle(<list>) 列表中元素随机打乱
sample(<list>,k) 列表随机获取k个元素

4.蒙特卡洛(随机抽样/统计试验方法)-->求pi
求解的问题是某种事件出现的概率,或某随机变量的期望值时,可以通过某种"试验"方法求解,即利用随机试验求解问题的方法

5.程序基本结构
1)基本结构:流程图,程序框图(顺序,选择,循环)
2)分支结构:
简单条件: "="赋值 "=="等于
数字,字符,字符串可以按照字典顺序用于条件比较
if-elif-else:减少嵌套
3)异常处理:
try:
...
except...:
...
except...:
...
else:
finally:(无论是否发生错误,都要进行)

try except:可以捕捉任何类型错误,
try else finally:else之后是没有正确输出,finally是无论怎样都输出

死循环和嵌套循环
后测循环(可以进行合法性检验)
半路循环(循环退出模式)
循环出口
eval():函数将字符串当成有效Python表达式来求值,并返回计算结果,转换字符串为数字
eval(input("..."))
功能:将字符串str当成有效的表达式来求值并返回计算结果。
语法: eval(source[, globals[, locals]]) -> value
参数:
source:一个Python表达式或函数compile()返回的代码对象
globals:可选。必须是dictionary
locals:可选。任意map对象

format:是python输出字符串的函数
使用函数时,若变量是可变对象,如列表,返回到调用程序后,对象会呈现被修改后的状态
遍历文件模板;
响应用户事件
command = 回调函数

其他:

print type(data)

data.shape #数组维度 data.dtype #数组数据类型 np.zeros((3,6)) #创建全为0的数组 np.range(15) #创建数组0~15 np.arange(32).reshape((8,4)) #重构数组 arr.T #数组转置 np.dot(arr.T,arr) #矩阵内积 np.sqrt(arr) np.exp(arr) np.maximum(x,y) arr.sort() #排序 np.unique(arr) #去重

obj=Series([....]) #数组+数字标签 obj.values #数组 obj.index #索引对象 obj.drop('...') #删除 obj.unique() #去重 obj.value_counts() #各值出现频率

data.isnull() #缺失值判断

dataframe.dropna() #丢弃有NA的行 dataframe.dropna(how="all") #丢弃全为NA的行 dataframe.dropna(axis=1,how='all') #丢弃全为NA的列

data.fillna(0) #NA值填充0 data.fillna({1:0.5,2:-1}) #通过字典填充 data.fillna(method='ffill') data.fillna(method='fill',limit=2) data.fillna(data.mean()) #用平均值填充

pd.merge(lefth,righth,left_on=['key1','key2'],right_index=True,how='outer') #数据集合并

left2.join(right2,how='outer') #lianji链接,合并带有相同或相似索引的DataFrame对象 left2.join([right2,another],how='oute')

np.concatenation([arr,arr],axis=1) #连接,合并原始NumPy数组

pd.concat([s1,s2,s3]) #将值和索引黏合

data.duplicated() #各行是否是重复行 data.drop_duplicates() #返回移除重复行的 data.droplicates(['k1']) #根据K1列过滤重复项

data1=data[data['intersection_id'].isin(['B'])] #挑选满足特定值的某一列


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值