浅析python 中name = 'main' 的作用
http://www.jb51.net/article/51892.htm
exec()是Python的built-in函数。其作用很好描述,就是执行以string类型存储的Python代码。
>>> i = 2
>>> j = 3
>>> exec("ans = i + j")
>>> print("Answer is: ", ans)
Answer is: 5
>>>
在上个例子里面,ans变量并没有显式的定义,但仍然可以在print函数中调用。这是exec语句执行了"ans = i + j"中的代码,定义了ans变量。
Python 一些小的古怪写法 if else for in join
c = [ i for i in a if i%2==0 ] //遍历a,在i为偶数时返回
[python-Pandas学习 如何对数据集随机抽样?](http://blog.csdn.net/qq_22238533/article/details/71080942)
#随机抽样
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
#random_state=123 无用
data_last_res=data_last_res.sample(frac=1,random_state=123).reset_index(drop=True)
列表解析
这是python的列表解析,含义就是形成一个从1到n的列表。关于列表解析可以看下面的描述:
1.定义和说明>Python 的强大特性之一是其对 list 的解析,它提供一种紧凑的方法,可以通过对 list 中的每个元素应用一个函数,从而将一个 list 映射为另一个 list。>列表解析,又叫列表推导式( list comprehension)>列表解析比 for 更精简,运行更快,特别是对于较大的数据**>列表解析可以替代绝大多数需要用到 map和 filter的场合 列表推导式提供了一个创建链表的简单途径,无需使用 map() , filter() 以及 lambda 。以定义方式得到列表通常要比使用构造函数创建这些列表更清晰。每一个列表推导式包括在一个 for 语句之后的表达式,零或多个 for 或 if 语句。返回值是由 for 或 if 子句之后的表达式得到的元素组成的列表。如果想要得到一个元组,必须要加上括号。
2.基本列表解析基本>>> [x for x in range(5)] # [0, 1, 2, 3, 4]l1 = [1,2,3,4][ x*2 for x in l1] #[2,4,6,8]
多个值的[ '%s = %s' for (k, v) in a_map.items()]
两次循环>>> l1 = [1,2,3,4]
>>> l2 = [1,2,3,4]
>>> [x+y for x in l1 for y in l2]
[2, 3, 4, 5, 3, 4, 5, 6, 4, 5, 6, 7, 5, 6, 7, 8]
可以调用函数[ func(x) for x in l1] #等价于map
注意,列表解析不会改变原有列表的值,会创建新的list
3.条件列表解析[ x for x in range(100) if x%2 ==0 ]
4.、嵌套列表解析mat = [ [1, 2, 3],[4, 5, 6], [7, 8, 9]]交换行列[ [row[i] for row in mat] for i in (0,1,2)] #[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
网友评论