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