缘起:几天没更新了,总结一些Python小技巧,希望在Python路上的你能越走越远
1、条件判断
flag=True
if flag:
x=1
else:
x=2
print(x)
简化形式:
flag=True
x=1 if flag else 2
print(x)
2、累加求和
sum=0
for i in range(0,101):
sum +=i
print(sum)
利用求和函数sum():
print(sum(range(0,101)))
3、文件关闭
f = open('file.txt','r')
f_control = f.read()
f.close()
words = f_control.split(' ')
word_count=len(words)
print (word_count)
配合with使用更简便:
with open('file.txt','r') as f:
f_control=f.read()
words = f_control.split(' ')
word_count=len(words)
print (word_count)
4、输出下标与键
seq = ['Zero','One','Two','Three']
i=0
for element in seq:
print (i,seq[i])
i+=1
使用enumerate函数来遍历:
seq = ['Zero','One','Two','Three']
for i, element in enumerate(seq):
print (i, element)
5、遍历多个序列
names=['Corey','Chris','Dave','Apple']
ages=[20,23,18,24]
for i,name in enumerate(names):
age=ages[i]
print('{} is {} old'.format(name,age))
用zip函数来简化:
names=['Corey','Chris','Dave','Apple']
ages=[20,23,18,24]
for name ,age in zip(names,ages):
print('{} is {} old'.format(name,age))
6、序列取首尾
传统方式:
numbers=(0,1,2,3,4,5,6,7,8,9)
head=numbers[0]
tail=numbers[-1]
print (head)
print (tail)
利用下划线_:
numbers=(0,1,2,3,4,5,6,7,8,9)
head,*_,tail=numbers
print (head)
print (tail)
7、输入加密的密码
username = input('Username: ')
password = input('Password:')
print ('Logging In...')
>>>
Username: leijun
Password:python
Logging In...
密码通常隐藏输入:
from getpass import getpass
username=input('Username: ')
password=getpass('Password:')
print ('Logging In...')
>>
Username: leijun
Password:
Logging In...
注:Python自带IDLE似乎不支持隐藏回显,在cmd有效
8、列表找奇数
a=[1,2,3,4,5,6,7,8,9,10]
res=[i for i in a if i%2==1]
print(res)
9、列表合并,在已存在的列表中添加新的列表内容
传统做法:
list1=[1,3,5,7,9]
list2=[2,4,6,8,10]
list1=list1+list2
print(list1)
使用extend函数:
list1=[1,3,5,7,9]
list2=[2,4,6,8,10]
list1.extend(list2)
list1.sort(reverse=False)
print(list1)
10、有趣的python
画爱心
print('\n'.join([''.join([('ILoveYou'[(x-y)%8]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ')for x in range(-30,30)])for y in range(15,-15,-1)]))
离人工智能最近的一次
while True:
s = input("me:").strip('??').replace("吗","").replace("你","").replace("我","")
print("AI:"+s)
>>>
me:你好
AI:好
me:你爱我吗?
AI:爱
me:有趣
AI:有趣
博主GitHub page地址:zhan123.xin
博主知乎地址:影的知乎文章