一、清单理解
列表理解是Python的关键功能之一,可帮助您编写更简洁明了的代码。假设您要创建一个包含1到100的数字的数组。执行此操作的便捷方法是使用range()函数:
numbers = list(range(1, 101))
但是,如果您想做更复杂的事情,例如创建从1到100的正方形列表,该怎么办?在这种情况下,经典方法是使用for循环:
numbers = []
for i in range(1, 101):
numbers.append(i**2)
这是大多数编程语言支持的标准方式。但是幸运的是,在Python中,列表理解使事情变得容易得多。这是在列表理解模式下编写的相同代码:
numbers = [i**2 for i in range(1, 101)]
您可以使用列表推导将几个指令和表达式包装在定义列表的方括号中。它们比for循环更短,更优雅。在保持代码干净的同时,您还可以做更多的事情。例如,假设您有一个函数is_prime()来检查输入数字,如果它是质数则返回True。以下代码段通过将is_prime()条件添加到理解中来创建从1到100的素数平方的列表。
二、压缩
偶尔会派上用场的另一个Python功能是zip()函数。zip将两个或多个列表组合为一个变量。假设您已经收集了客户名称,他们的年龄和他们最喜欢的冰淇淋口味的列表。
customers = ['John', 'Natasha', 'Eric', 'Sally']
ages = [26, 31, 39, 22]
flavors = ['cherry', 'chocolate', 'strawberry', 'lemon']
使用zip(),您可以将所有三个列表合并为一个列表,其中每个条目都包含一个元组,该元组具有一个客户的名称,年龄和偏好。
combined = zip(customers, ages, flavors)
customers_ice_cream = list(combined)
三、列举
有时,您希望在遍历列表时保持项目计数。假设您有一个客户名列表,并且想要列出他们及其索引号。这是一种实现方法:
for i in range(len(customers)):
print("{}: {}".format(i+1, customers[i]))
这将产生类似于以下内容的输出:
1:萨曼莎(Samantha)
2:玛拉
3:埃里克
4:詹姆斯
5:乔治
6:托尼
7:玛格丽特
8:史蒂文
尽管此代码有效,但它不是很好。注意索引和计数器之间的不匹配吗?幸运的是,Python有一个enumerate()函数,使您的索引跟踪代码更容易理解和令人赏心悦目。enumerate()接受两个参数,要枚举的列表和计数器的起始编号,并在循环的每一轮给出两个输出,即计数器值和列表项。这是用enume解决相同问题的方法。
for i, customer in enumerate(customers, 1):
print("{}: {}".format(i, customer))
关于码住!Python开发人员的3个实用技巧,环球青藤小编就和大家分享到这里了,学习是永无止境的,学习一项技能更是受益终身,所以,只要肯努力学,什么时候开始都不晚。如果您还想继续了解关于python编程的学习方法及素材等内容,可以点击本站其他文章学习。