python—python基本函数学习(1)
1、JRE是Java Runtime Environment缩写,指Java运行环境
2、函数(变量, key=lambda x:x[0])的详细解释
比如:count = sorted(list(count.items()), key=lambda x: x[1])
这行代码什么意思?
整体上的意思是将count.items()转化为list后,根据list元素里的第二个元素进行从小到大排序
这行代码实际上要拆开来看:
1)最外面sorted是python里面的一种排序函数,可以让list里面的数据按照升序进行排序
2)key主要是用来进行比较的元素,只有一个参数,指定可迭代对象中的一个元素来进行排序。然后这个key里面有一个lambda表达式,我们可以使用lambda来创建一个匿名函数。所谓匿名函数就是定义一个函数如def A:x=1,只不过不需要在函数外进行定义的过程
3)而lambda x: x[1]则代表x下标为1的值返回给x,然后将其设定为key。
一个例子:
x=[[3,3,3],[2,3,20]]
sorted(x, key=lambda item:(item[1],-item[2])) =
[[2, 3, 20], [3, 3, 3]]
sorted(x, key=lambda item:(item[0],-item[1])) =
[[2, 3, 20], [3, 3, 3]]
item[n] 前面的正负表示从小到大还是从大到小
item[1],-item[2] 表示先看列表里面的第二个元素的大小,按照从小到大的顺序排列
如果第二个元素一样大,则看第三个元素的大小,按照从大到小的顺序排列
3、enumerate() 函数
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

4、print ("{0:<10}{1:>5}".format(word, count))表示什么意思
这个是format方法的格式控制。《基本数据类型》讲字符串的时候有讲到。
首先:'我的{0}叫{1}'.format(name,jack),大括号里的数字,表示的是位置,也就是0对应的name,1对应的jack。同理,题中0对应的是Word,1对应的是count。
其次,冒号是引导符,后面跟的是格式控制方法。<表示左对齐,>表示右对齐,数字表示宽度。同理,题中<10表示左对齐,并占10个位置,>5表示右对齐,占5个位置。
5、两个list,长度相同,希望另一列根据前一列进行排序
思路:先转化成元组,再根据元组的第一个元素进行排序
a = [np.nan, 2, 4, 5, 7, 8, 9, np.nan]
b = [1, 2, 3, 4, 5, 6, 8, 7]
s1 =list(zip(a, b)) #也可以直接使用zip
s2 =sorted(a, key=lambda x: x[0])
a[:], b[:] =zip(*s2) # zip相当于压缩 ,zip(*)相当于解压。
#也可以这样写
# data =[(ii, jj) for ii,jj in zip(a, b)] , 提取的时候list1=[a for a,b in data]
6、两个list元素对应相乘
方法1:List3 = np.multiply(np.array(List1),np.array(List2))
方法2:[a*b for a,b in zip(td,cof)]
7、
前缀b代表是bytes类型数据,总是显示这个便于人类与其他形式的数据区分,只是个标识符而已,你可以不用管它,真正的数据在引号内。
8、逻辑判断时需要注意的地方
(ifStateChange == 0) & (ifStateRun == 0)
Out[13]: False
ifStateChange == 0 & ifStateRun == 0
Out[13]: True
ifStateChange == 0 and ifStateRun == 0
Out[13]: False
9、list如何实现cof[cof> 2] =2
cof = [(i>2)*2 or i for i in cof]