Python数值组合函数,python求排列组合的函数

Python有哪些常用的数据类型?

Numbers(数字型):

创新互联公司专业为企业提供井研网站建设、井研做网站、井研网站设计、井研网站制作等企业网站建设、网页设计与制作、井研企业网站模板建站服务,十年井研做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

即我们常说的1,2,3等等这些数字,Python有两个常见的数据类型转化函数:int和float,一般数据类型可以用来做一些算术功能,如加减乘除乘方等等,还可以用作比较功能,一般返回的是true和false,也就是大于、等于、小于、小于等于诸如此类的有很多,这里就不一一解释了。

String(字符串):

字符串是Python中比较常见的数据类型之一,能够使用str函数将其他类型的数据强制转换为字符串类型,有三种生成方法,即单引号'XXX',双引号"XXX",三引号'''XXX

''',其中三引号一般用于字符串内容较长的时候。

List(列表):

列表可以说是Python中最为活跃的一个数据类型,使用也很频繁,操作也很多,可以通过list函数或方括号[]进行列表的创建。常见函数如求长度,用len,合并多个列表用+,列表元素重复*等等。

Tuple(元组):

元组可以看成是一种不可修改的特殊列表,可以通过小括号()或者tuple函数来创建,即便是只有一个元素,元组中的元素最后也要有逗号。常见操作有求长度len,元组元素重复*,元组拼接+,查看最值max、min等。

Dictionary(字典):字符串、列表、元组都是有序的数据类型,字典是无序的数据类型,主要是用来存放具有一定映射关系的数据。可以通过两种方法创建,1、{}2、dict函数创建。

set(集合):

集合不能有重复元素,可以看作是列表和字典的“杂合体”,可以通过三种方式创建,1、set函数,空集合只能用这种方法;2、{}创建,3、创建冻集合,frozenst。

用python 写 组合数C(m,n)=m!/n!/(m-n)!。试编写阶乘的函数及组合数的函数?

import math

m = int(input("请输入第一个数字:"))

n = int(input("请输入第二个数字:"))

if m 0 or n 0 or m - n 0:

print("负数是没有阶乘,请重新输入!")

else:

result = math.factorial(m) / math.factorial(n) / math.factorial(m - n)

print("按照公式C(m, n) = m!/n! /(m - n)!,C({0},{1})的答案为 {2}".format(m, n, result))

python中对组合数据类型x进行排序的内置函数是

python有两个内置的函数用于实现排序,一个是list.sort()函数,一个是sorted()函数。

区别1:list.sort()函数只能处理list类型数据的排序;sorted()则可以处理多种类型数据的排序。

区别2:list.sort()会修改原来的list为排序后的结果;sorted()不会修改原来的数据,只是返回一个排序后的对象。

下面来动手写点代码进行测试:

list进行简单的排序

1 a=['a','f','c','x','e']2 a.sort()3 a4 [a','c','e','f','x']

sorted()进行简单排序

1 a=['a','f','c','x','e']2 a_new=sorted(a)3 a_new4 ['a', 'c', 'e', 'f', 'x']

list.sort()和sorted都有默认的参数reverse,该参数的默认值为“False”,即默认升序排列。如果要进行降序排列:

1 a=['a','f','c','x','e']2 a_new=sorted(a,reverse=True)3 a_new4 ['x', 'f', 'e', 'c', 'a']

对元组进行排列,不能使用list.sort()函数:

1 a=('a','f','c','x','e')2 a_new=a.sort()3

4 ttributeError: 'tuple' object has no attribute 'sort'

对字典的排序可以按照字典的key或者value进行排序:

1 dic={"aa":11,"ff":5,"ee":22}2 printsorted(dic.keys())3 ['aa', 'ee', 'ff']

从python2.4开始list.sort()和sorted()都引入了key参数来指定一个函数进行排序,有了key参数以后我们就可以对更加复杂的数据进行排序 。

假如需要排序的数据为一个list,但list的每一个元素都是一个字典,排序的方法如下:

dic=[{"name":"sunny","age":20},

{"name":"bell","age":5},

{"name":"jim","age":1},

{"name":"jan","age":10}]print sorted(dic,key=lambda arg:arg.get('age'),reverse=False) #按照每个字典的age的值进行排序,字典的方法dict.get(key)将返回指定键的值。

#输出结果为:[{'age': 1, 'name': 'jim'}, {'age': 5, 'name': 'bell'}, {'age': 10, 'name': 'jan'}, {'age': 20, 'name': 'sunny'}]

print sorted(dic,key=lambda arg:arg.get('name'),reverse=False) #按照每个字典的name的值进行排序

#输出结果为:[{'age': 5, 'name': 'bell'}, {'age': 10, 'name': 'jan'}, {'age': 1, 'name': 'jim'}, {'age': 20, 'name': 'sunny'}]

假如需要排序的数据为一个二维的list,即list的每一个元素也是一个list,方法与上面的例子类似:

a=[['100','8','30'],['200','5','50'],['300','1','20']]print sorted(a,key=lambda arg:arg[1]) #按照每个list的第1个元素进行排序

[['300', '1', '20'], ['200', '5', '50'], ['100', '8', '30']]

前面的2个例子中,key参数的值都是函数。在sorted函数中,key参数后面的函数的参数的数量只能是一个。lambda arg:arg.get('age')是一个lambda匿名函数,它是一个没有函数名的单语句函数。冒号左边是参数,冒号右边的返回值,返回值将被用于排序。

Python如何将多行数据合并成一行

1、新建一个将两个列表组合成一个列表。

2、中文编码声明注释:#coding=gbk。

3、定义度两个列知表,分别道是s1和s2,并且赋值。

4、使用回+号将两个列表组合成一个。

5、使用print()函数输出s3。

6、运行脚本,输出新组合出答来的列表。

注意事项:

Python@用做函数的修饰符,可以在模块或者类的定义层内对函数进行修饰,出现在函数定义的前一行回,不允许和函数定义在同一行。

一个修饰符就是一个函数,它将被修饰的函数作为参数,并返回修饰后的同名函数或其他可调用的东西。

在Python的函数中偶尔会看到函数定义的上一行有@functionName的修饰,当解释器读到@这样的修饰符的答时候会优先解除@后的内容,直接就把@的下一行的函数或者类作为@后边函数的参数,然后将返回值赋给下一个修饰的函数对象。


当前标题:Python数值组合函数,python求排列组合的函数
文章分享:http://scyanting.com/article/dseoegc.html