标签:
计算器:
numx = "3 * 5 /-2 -(8*3/(20+3/2-5) + 4 /(3-2) * -3 ) "
有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。 即: {‘k1‘: 大于66 , ‘k2‘: 小于66} v1 = [11,22,33,44,55,66,77,88,99,90] dicNum = {"k1":[],"k2":[]} for i in v1: if int(i) > 66: dicNum["k1"].append(i) else: dicNum["k2"].append(i) print dicNum["k1"] print dicNum["k2"] print dicNum
v2 = [11,22,33,44,55,66,77,88,99,90] dicNum = {} for i in v2: if int(i) > 66: if "k1" in dicNum: dicNum["k1"].append(i) else: dicNum["k1"] = [i] else: if "k2" in dicNum: dicNum["k2"].append(i) else: dicNum["k2"] = [i] print dicNum["k1"] print dicNum["k2"]
# 默认字典 myDict = collections.defaultdict(list) myDict["k1"].append(1) print myDict["k1"]
# 有序字典 orderdict
有序字典是在字典里面维护了一个列表
#计数器counter list1 = [11,22,33,44,5544,3322,111] tuple1 = (11,22,33,44,222,5555,2222) str1 = "2343252632642362hfidsafhsifoesagoewagewaglsanldsa;lsf;sahflaf;saf;la" c2 = collections.Counter(str1) print c2
import Queue q = Queue.Queue() q.put(2) q.put(3) q.put(23) print q.get()
练习:<br>有如下列表: [13, 22, 6, 99, 11] 请按照一下规则计算: 13 和 22 比较,将大的值放在右侧,即:[13, 22, 6, 99, 11] 22 和 6 比较,将大的值放在右侧,即:[13, 6, 22, 99, 11] 22 和 99 比较,将大的值放在右侧,即:[13, 6, 22, 99, 11] 99 和 42 比较,将大的值放在右侧,即:[13, 6, 22, 11, 99,] 13 和 6 比较,将大的值放在右侧,即:[6, 13, 22, 11, 99,] ...
li = [13, 22, 6, 99, 11] for m in range(len(li)-1): for n in range(m+1, len(li)): if li[m]> li[n]: temp = li[n] li[n] = li[m] li[m] = temp print li
代码块,按功能划分,
函数式编程和面向过程编程的区别:
函数的定义主要有如下要点:
__doc__ 注释本文件
__name__ 本文件名,如是当前执行文件,内容是__main__
__file__ 文件路径
def func(*args): print args li = [11,22,33,444,332,112] func(*li)
动态参数要调用字典的时候,需要用到**
def func(**args): print args dic = {"echo":123,"rep":234} func(**dic)
不传使用默认值
def email(arg): print arg if __name__ == "__main__": cpu = 100 ram = 50 disk = 500 for i in range(1): if cpu > 90: alert = "cpu 出现问题" email(alert) if disk > 90: alert = "disk 出现问题" email(alert) if ram > 80: alert = "内存 出现问题" email(alert)
obj = open("index.txt","r") obj.seek(10) #定位指针
print obj.tell() #输出指针位置
print obj.read() #输出内容
print obj.tell()
#输出指针位置
r 读
w 写
a 追加
&+
r+ 读写
w+ 类w
a+ 类a
打开文件的模式有:
"+" 表示可以同时读写某个文件
"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
标签:
原文地址:http://www.cnblogs.com/echorep/p/4957445.html