# -*- coding: UTF-8 -*-
#using of map
def add(num):
return num + 2
lt = [1,2,3,4]
rs = map(add, lt)
print rs #[3, 4, 5, 6]
rs2 = map(str, lt)
print rs2 #['1', '2', '3', '4']
#decimal control
from math import pi
print pi #3.14159265359
a = "%.3f"%pi
print a #3.142
b = round(pi,3)
print b #3.142
#zip function
list1 = [1,2,3,4]
list2 = [5,6,7,8,9]
zip1 = zip(list1, list2)
print zip1 #[(1, 5), (2, 6), (3, 7), (4, 8)]
zip2 = zip(list1)
print zip2 #[(1,), (2,), (3,), (4,)]
list3 = [10,11,12]
zip3 = zip(list1, list2, list3)
print zip3 #[(1, 5, 10), (2, 6, 11), (3, 7, 12)]
print zip(*zip3) #[(1, 2, 3), (5, 6, 7), (10, 11, 12)]
字符串解析和正则表达式:
最近基于tensorflow训练一个回归模型,网络的输出经常长这样:
a = '[[1.1123 2.3322 3.232]]'
或者这样:
a = '[[ 1.1123 2.3322 3.232 ]]'
我之前习惯用split(' ')函数去隔开空格,,今天才发现原来split()就可以隔开任意空格~
b = a[2:-2].split() #['1.1123', '2.3322', '3.232']
c = map(float, b) #[1.1123, 2.3322, 3.232]
当然正则表达式也可以这样从字符串中寻找,匹配和替换子字符串,只是对于这个问题来说比较麻烦。