hello,大家好,我是wangzirui32,今天我们来学习10个Python开发中的小技巧,开始学习吧!
原代码:
# 将numbers中的每个数进行平方运算
# 同时将结果存入new_numbers中
numbers = [1, 2, 3, 4, 5]
new_numbers = []
for i in numbers:
new_numbers.append(i**2)
print(new_numbers)
改进后:
numbers = [1, 2, 3, 4, 5]
new_numbers = [i**2 for i in numbers]
print(new_numbers)
上面的代码对比起来是不是更简洁了?下面来看字典推导式。
原代码:
numbers = [1, 2, 3]
new_numbers = {}
for i in numbers:
numbers[i] = i**2
print(new_numbers)
改进后:
numbers = [1, 2, 3]
# {键:值 for x in xxx}
new_numbers = {i:i**2 for i in numbers}
print(new_numbers)
两段代码执行的效果是一样的。下面来看格式化字符串。
原代码:
name = input("请输入您的名称:")
age = input("请输入您的年龄:")
print("您是" + name + ",今年" + age + "岁。")
改进后:
name = input("请输入您的名称:")
age = input("请输入您的年龄:")
print(f"您是{name},今年{age}岁。")
注意,这个功能Python3.8之后才被加入,或者可以这样做:
print("您是{},今年{}岁。".format(name, age))
原代码:
numbers = [1, 3, 222, 3, 12, 13, 12]
result = []
for i in numbers:
if not (i in result):
result.append(i)
print(result)
改进后:
numbers = [1, 3, 222, 3, 12, 13, 12]
result = list(set(numbers))
print(result)
这里运用了集合的概念,集合是不包含重复元素的无序列表。
原代码:
score = int(input("请输入您的分数:"))
if score > 60:
result = "及格"
else:
result = "不及格"
print(result)
改进后:
score = int(input("请输入您的分数:"))
result = "及格" if score > 60 else "不及格"
print(result)
原代码:
list_1 = ['John', 'Timmy', 'Ted']
list_2 = ['John', 'Tim', "Ted"]
result = []
for i in list_1:
if not (i in list_2):
result.append(i)
print(result)
改进后:
list_1 = ['John', 'Timmy', 'Ted']
list_2 = ['John', 'Tim', "Ted"]
result = list(set(list_1).symmetric_difference(set(list_2)))
print(result)
这里先把list_1
转换为集合,再调用集合的差集方法,检查差异元素。
原代码:
name_list = ['John', 'Timmy', 'Ted', 'Jack']
string = ""
for i in name_list:
string += i
print(string)
改进后:
name_list = ['John', 'Timmy', 'Ted', 'Jack']
# 以" "连接列表元素
string = " ".join(name_list)
print(string)
这里使用的字符串的join
方法实现这个效果。
原代码:
some_text = "lqhnckq"
if len(some_text) > 4:
print("some_text 的长度为" + str(len(some_text)))
改进后:(Python3.8之后)
some_text = "lqhnckq"
if (length := len(some_text)) > 4:
print("some_text 的长度为" + str(length))
:=
表示把前面的表达式给length
进行赋值,再进行判断,赋值后的length
可以直接调用。
原代码:
some_text = "倒背如流 倒背如流"
new_text = []
for i in some_text:
new_text.insert(0, i)
print(''.join(new_text))
改进后:
some_text = "倒背如流 倒背如流"
new_text = some_text[::-1]
print(new_text)
原代码:
a = 10
b = 20
print(a, b)
temp = a
a = b
b = temp
print(a, b)
改进后:
a = 10
b = 20
print(a, b)
a, b = b, a
print(a, b)
好了,今天的课程就到这里,我是wangzirui32,喜欢的可以点个收藏和关注,我们下次再见!