计算器:
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
有序字典是在字典里面维护了一个列表
#计数器counterlist1 = [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 Queueq = 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] = tempprint li
代码块,按功能划分,
函数式编程和面向过程编程的区别:
函数的定义主要有如下要点:
__doc__ 注释本文件
__name__ 本文件名,如是当前执行文件,内容是__main__
__file__ 文件路径
def func(*args): print argsli = [11,22,33,444,332,112]func(*li)
动态参数要调用字典的时候,需要用到**
def func(**args): print argsdic = {"echo":123,"rep":234}func(**dic)
不传使用默认值
def email(arg): print argif __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处理二进制文件时需标注)
新闻热点
疑难解答