给Python初学者的一些技巧
发布时间:2025-09-25 10:59:51
以下是Python的一些实用技能和工具,希望对大家的学习有所帮助。
交换变量
x=6 y=5 x,y=y,x printx >>>5 printy >>>6
if 语句在行内
print"Hello"ifTrueelse"World" >>>Hello
连接
在绑定两种不同类型的对象时,下面的最后一种方法看起来非常可ol。
nfc=["Packers","49ers"] afc=["Ravens","Patriots"] printnfc+afc >>>['Packers','49ers','Ravens','Patriots'] printstr(1)+"world" >>>1world print`1`+"world" >>>1world print1,"world" >>>1world printnfc,1 >>>['Packers','49ers']1
数字技巧
#然后向下取整 print5.0//2 >>>2 #2的5次方 print2**5 >>32
注意浮点数的去除
print.3/.1 >>>2.9999999999999996 print.3//.1 >>>2.0
数值比较
这是我在很多语言中看到的很少有这么简单的方法
x=2 if3>x>1: printx >>>2 if10: printx >>>2
同时迭代两个列表
nfc=["Packers","49ers"] afc=["Ravens","Patriots"] forteama,teambinzip(nfc,afc): printteama+"vs."+teamb >>>Packersvs.Ravens >>>49ersvs.Patriots
列表迭代带索引
teams=["Packers","49ers","Ravens","Patriots"] forindex,teaminenumerate(teams): printindex,team >>>0Packers >>>149ers >>>2Ravens >>>3Patriots
列表推导式
已知列表,我们可以刷出偶数列表的方法:
numbers=[1,2,3,4,5] even=[] fornumberinnumbers: ifnumber%2==0: even.append(number)
转化如下:
numbers=[1,2,3,4,5] even=[numberfornumberinnumbersifnumber%2==0]
字典推导
类似于列表推导,字典可以做同样的工作:
teams=["Packers","49ers","Ravens","Patriots"] print{key:valueforvalue,keyinenumerate(teams)} >>>{'49ers':1,'Ravens':2,'Patriots':3,'Packers':0}
初始化列表的值
items=[0]*3 printitems >>>[0,0,0]
将列表转换为字符串teams=["Packers","49ers","Ravens","Patriots"]
print",".join(teams)
>>>'Packers,49ers,Ravens,Patriots'
从字典中获取元素
我承认try/except代码不优雅,但这里有一个简单的方法试图在字典中找到key。如果找不到相应的alue,将使用第二个参数作为其变量值
data={'user':1,'name':'Max','three':4} try: is_admin=data['admin'] exceptKeyError: is_admin=False
替换成这样:
data={'user':1,'name':'Max','three':4} is_admin=data.get('admin',False)
获取列表的子集
有时候,你只需要列表中的一些元素,这里有一些获取列表子集的方法。
x=[1,2,3,4,5] #前3个 printx[:3] >>>[1,2,3] #中间4个 printx[1:5] >>>[2,3,4,5] #最后3个 printx[3:] >>>[4,5,6] #奇数项 printx[::2] >>>[1,3,5] #偶数项 printx[1::2] >>>[2,4,6]
集合
除了python内置的数据类型外,collection模块还包括一些特殊用例,counter在某些场合非常实用。如果你参加了今年的Facebook HackerCup,你甚至可以找到他的实用性。
fromcollectionsimportCounter printCounter("hello") >>>Counter({'l':2,'h':1,'e':1,'o':1})
迭代工具
和collections库一样,还有一个叫itertols的库,可以有效地解决一些问题。其中一个例子是找到所有的组合,他可以告诉你组合中所有元素的所有无法组合的方法
fromitertoolsimportcombinations teams=["Packers","49ers","Ravens","Patriots"] forgameincombinations(teams,2): printgame >>>('Packers','49ers') >>>('Packers','Ravens') >>>('Packers','Patriots') >>>('49ers','Ravens') >>>('49ers','Patriots') >>>('Ravens','Patriots') False==True
与实用技术相比,这是一件非常有趣的事情,在python中,True和False是全球变量,所以:
False=True ifFalse: print"Hello" else: print"World" >>>Hello
下一篇 返回列表