python—python基本函数学习(1)

2019-10-31  本文已影响0人  龙鹰图腾223

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 循环当中。

type(enumerate(seasons))为enumerate

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]

上一篇下一篇

猜你喜欢

热点阅读