⑴ python中 argmax(),where()和less()分别是 什么功能呢,
where(condition, [x, y]):根据前面的条件判断输出x还是y。
numpy.less(x,y):x<y返回True,否则返回False。
argmax(a, axis=None):求得对应axis最大值上的自变量。相当于y=f(t)中y取最大值是t的值。
⑵ python语言中有哪些数据类型
python数据类型有很多,这里为大家简单例举几个:
第一种:整数
python可以处理任意大小的整数,当然包含负整数,在python程序中,整数的表示方法和数学上的写法一模一样,比如:1,100,-8080,0,等。
计算机由于使用二进制,所以有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,比如:0xff00。
第二种:浮点数
浮点数也就是小数,之所以称为浮点数,是因为按照科学计数法表示时,一个浮点数的小数点位置是可变的。浮点数可以用数学写法,比如1.23,3.15,-9.01等。但是对于很大或者很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x10^9就是1.23e9。
整数和浮点数在计算机内部存储的方法是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差。
第三种:字符串
字符串是以“或”括起来的任意文本,比如'abc','xyz'等。请注意,“或”本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。
第四个:布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在python中,可以直接用True、False表示布尔值,也可以通过布尔运算计算出来。
布尔值可以用and、or或not运算。
and运算是与运算,只有所有都为True,and运算结果才是True。
or运算是或运算,只要其中有一个为True,or运算结果就是True。
not运算是非运算,它是一个单目运算符,把True变成False,False变成True。
第五个:空值
空值是python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
此外,python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型。
⑶ Python中的逻辑运算符有哪些呢
关键是一个变量/值是“相当于”True还是False。
None、False、空字符串""、0、空列表[]、空字典{}、空元组(),都相当于False。其它的都相当于True。
先说 A or B 。
如果A相当于True,那么返回A。否则,返回B。
所以,如果A和B都是False,那么A and B也是False (False or False == False)。
除了做布尔值的判断,C = A or B 这种写法,常用于不确定A是否为空值时,把B作为候补来赋值给C。
A and B相反。如果A相当于True,那么返回B。否则,返回A。
所以,只有A和B都是True时,A and B才是True (True and True == True)。
⑷ 如何在python代码中书写纯虚数
Python是支持虚数的,看下面的例子:
方法一:
# Python3.6
a = 1 + 1j
b = 1 - 1j
print(a*b)
print(a.real, a.imag)
# >>(2+0j)
# >>1.0 1.0
后续的矩阵运算是否可行,要看你的矩阵运算函数是否支持虚数。如果不支持,还需要你自己构造计算虚数的矩阵运算。
方法二(最好使用numpy):
# Python3.6
import numpy as np
a = np.array([[1+1j, 1-1j], [1-1j, 1+1j]])
print(a*a)
# >>[[0.+2.j 0.-2.j]
[0.-2.j 0.+2.j]]
print(a.real)
# >>[[1. 1.]
[1. 1.]]
print(a.imag)
# >>[[ 1. -1.]
[-1. 1.]]
numpy是支持复数运算的,方便可靠。
⑸ python基本结构有哪三种
程序的基本结构
程序由三种基本结构组成:顺序结构、分支结构和循环结构。任何程序都由这三种基本结构组合而成。
这些基本结构都有一个入口和一个出口。任何程序都由这三种基本结构组合而成。
顺序结构
顺序结构是程序按照线性顺序依次执行的一种运行方式,其中语句块1S1和语句块S2表示一个或一组顺序执行的语句。
分支结构
分支结构是程序根据条件判断结果而选择不同向前执行路径的一种运行方式,基础的分支结构是二分支结构。由二分支结构会组合形成多分支结构。
循环结构
循环结构是程序根据条件判断结果向后反复执行的一种运行方式,根据循环体触发条件不同,包括条件循环和遍历循环结构。
⑹ python的数据类型有哪些
1. 数字类型
Python数字类型主要包括int(整型)、long(长整型)和float(浮点型),但是在Python3中就不再有long类型了。
int(整型)
在32位机器上,整数的位数是32位,取值范围是-231~231-1,即-2147483648~214748364;在64位系统上,整数的位数为64位,取值范围为-263~263-1,即9223372036854775808~9223372036854775807。
long(长整型)
Python长整型没有指定位宽,但是由于机器内存有限,使用长的长整数数值也不可能无限大。
float(浮点型)
浮点型也就是带有小数点的数,其精度和机器有关。
complex(复数)
Python还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。
2. 字符串
在Python中,加了引号的字符都被认为是字符串,其声明有三种方式,分别是:单引号、双引号和三引号;Python中的字符串有两种数据类型,分别是str类型和unicode类型,str类型采用的ASCII编码,无法表示中文,unicode类型采用unicode编码,能够表示任意字符,包括中文和其他语言。
3. 布尔型
和其他编程语言一样,Python布尔类型也是用于逻辑运算,有两个值:True(真)和False(假)。
4. 列表
列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型,可对集合进行创建、查找、切片、增加、修改、删除、循环和排序操作。
5. 元组
元组和列表一样,也是一种序列,与列表不同的是,元组是不可修改的,元组用”()”标识,内部元素用逗号隔开。
6. 字典
字典是一种键值对的集合,是除列表以外Python之中最灵活的内置数据结构类型,列表是有序的对象集合,字典是无序的对象集合。
7. 集合
集合是一个无序的、不重复的数据组合,它的主要作用有两个,分别是去重和关系测试。
⑺ python中的字典,列表,以及sorted函数问题,列表变字典
首先字典这种数据类型本来就是无序的,需要排序的话,当然只能是列表这种可以排序的数据结构。
当然,如果只是输出的话,那么没问题,你转成字符串好了,想如何显示就如何显示。
干脆给你打出来好了:
fromoperatorimportitemgetter
a={
'u1':{'i1':1,'i2':8,'i3':15,'i4':12},
'u2':{'i1':3,'i2':4,'i3':10,'i4':2},
'u3':{'i1':9,'i2':2,'i3':5,'i4':11},
'u4':{'i1':7,'i2':5,'i3':1,'i4':5}
}
b={}
foruina.keys():
b[u]=sorted(a[u].items(),key=itemgetter(1),reverse=False)[0:2]
l=sorted(b.items(),key=itemgetter(0),reverse=False)
s=''
printl
forxinl:
d={}
foryinx[1]:
d[y[0]]=y[1]
s+=','+"'%s':%s"%(x[0],d)
print'{%s}'%s[1:]
结果:{'u1':{'i1': 1, 'i2': 8},'u2':{'i1': 3, 'i4': 2},'u3':{'i3': 5, 'i2': 2},'u4':{'i3': 1, 'i2': 5}}
⑻ python中在指定概率分布的情况下,为什么设定随机数种子仍影响random.choice的结果
for循环改成1000次试试,3、2、0出现的次数分别是587、299、114次,符合0.6、0.3、0.1
importnumpyasnp
i3=i2=i0=0
forseedinnp.arange(1000):
np.random.seed(seed)
n=np.random.choice(5,p=[0.1,0,0.3,0.6,0])
i3+=n==3
i2+=n==2
i0+=n==0
print(i3,i2,i0)
但不是影响结果的分布情况,而是影响计算机产生随机数的情况,你运行1000次结果一定和我一样,就是因为我们的随机种子给的都是一样的。
我们知道计算机无法产生真正的随机数,是通过算法产生的伪随机数,但具有类似于真正随机数的统计特征,如均匀性、独立性等。
随机种子的作用在于给定这个产生随机数算法的初值。给定后会影响以后产生随机数的具体值是多少,但不影响这些随机数的分布情况。
上面那个程序,如果我们不指定随机种子,那么结果符合p分布,但你与我结果不同,同一段代码多次运行结果也不同。如果指定随机种子,那么结果依然符合p分布,但全天下人运行结果都相同。
如果已知两粒种子(随机种子)和两个生长环境(产生随机数算法)都完完全全一样,那么可以得出长出的两个作物完全一样(忽略量子力学影响)。但这两粒种子无论相同与否都不会影响长出的作物到底是玉米还是高粱(不影响结果分布情况)。
⑼ python程序问题!
14个未知数,两个方程,应该有无穷多组解的。不过如果限定了为0或者正整数,解是有限的。不过这个循环也太难写了。
我得到了3576组解。穷举法。这里给出最后的几组解。
[2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 3]
[2, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 4]
[2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 2]
[2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 3]
[2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 4]
[2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3]
[2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4]
[2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4]
[2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5]
程序写的比较丑陋。呵呵。
def check(x,coff,N):
s1=0
s2=0
for i in range(N):
s1+=x[i]
s2+=x[i]*coff[i]
if s1>8 or s2>89:
return False
return True
def ok(x,coff):
s1=0
s2=0
for i in range(14):
s1+=x[i]
s2+=x[i]*coff[i]
if s1==8 and s2==89:
return True
return False
def mycalc():
f=open("data.txt","w")
N=14
x=[0]*N
xrange=[0]*N
coff=[i/2.0 for i in range(14,28)]
for i in range(N):
xrange[i]=int(89/coff[i])+1
for x[0] in range(xrange[0]):
if check(x,coff,1)==False:
continue
for x[1] in range(xrange[1]):
if check(x,coff,2)==False:
continue
for x[2] in range(xrange[2]):
if check(x,coff,3)==False:
continue
for x[3] in range(xrange[3]):
if check(x,coff,4)==False:
continue
for x[4] in range(xrange[4]):
if check(x,coff,5)==False:
continue
for x[5] in range(xrange[5]):
if check(x,coff,6)==False:
continue
for x[6] in range(xrange[6]):
if check(x,coff,7)==False:
continue
for x[7] in range(xrange[7]):
if check(x,coff,8)==False:
continue
for x[8] in range(xrange[8]):
if check(x,coff,9)==False:
continue
for x[9] in range(xrange[9]):
if check(x,coff,10)==False:
continue
for x[10] in range(xrange[10]):
if check(x,coff,11)==False:
continue
for x[11] in range(xrange[11]):
if check(x,coff,12)==False:
continue
for x[12] in range(xrange[12]):
if check(x,coff,13)==False:
continue
for x[13] in range(xrange[13]):
if check(x,coff,14)==False:
continue
if ok(x,coff)==True:
print "get one\n"
f.write(str(x)+"\n")
f.close()
if __name__=='__main__':
mycalc()
⑽ python笔记本i3可以写编程
python笔记本i3可以写编程几乎任意电脑都支持。