自从我用Python编写第一行代码以来,条棒我就被它的代码简单性、出色的条棒可读性和特别流行的一行代码所吸引。在下面,代码我想介绍并解释其中一些一行程序—可能有一些您还不知道,条棒但对您的代码下一个Python项目很有用。
1. 交换两个变量
# a = 1; b = 2 a,条棒 bb = b, a # print(a,b) >> 2 1让我们从一个经典的开始:通过简单地交换赋值位置来交换变量的值——在我看来,这是代码最直观的方法。不需要使用临时变量。条棒它甚至适用于两个以上的代码变量。
2. 多个变量赋值
a,条棒 b, *c = [1,2,3,4,5] # print(a,b,c) >> 1 2 [3, 4, 5]交换变量实际上是python能够一次分配多个变量的一种特殊情况。在这里,代码您可以使用它将列表元素分配给给定的条棒变量,这也称为解包。代码*将再次打包剩下的条棒值,这将导致c的亿华云计算子列表。它甚至可以用于*的其他位置(例如列表的开始或中间部分)。
3. 对列表每隔两个元素求和
# a = [1,2,3,4,5,6] s = sum(a[1::2]) # print(s) >> 12这里不需要特殊的reduce函数,sum只是添加每个给定迭代的项。这里使用扩展的切片语法[::]来返回第二个元素。你可以将它读为[start: stop: step],所以[1::2]翻译为从索引1的元素开始(第二个元素),直到列表结束(第二个参数没有给出参数),并且总是采取两步。
4. 删除列表多个元素
# a = [1,2,3,4,5] del a[::2] # print(a) >> [2, 4]扩展的切片语法也可以用来一次删除多个列表元素。
5. 将文件读入行数组
c = [line.strip() for line in open(file.txt)] # print(c) >> [test1, test2, test3, test4]使用python内联for循环,您可以轻松地将文件读入行数组中。需要使用strip()来删除后面的断线。如果你想保留它们或者它们对你来说不重要,你可以用更短的一行字:
c = list(open(file.txt)) # print(c) >> [test1\n, test2\n, test3\n, test4\n]在Python中读取文件真的很简单。附注:如果愿意,云南idc服务商还可以使用readlines()方法。
6. 将字符串写入文件
with open(file.txt, a) as f: f.write(hello world) # print(list(open(file.txt))) >> [test1\n, test2\n, test3\n, test4\n, hello world]在With语句的帮助下,您可以直接将内容写入文件。确保使用正确的模式打开文件(这里“a”表示附加内容)。
7. 创建列表
l = [(Hi + x) for x in [Alice, Bob, Pete]] # print(l) >> [Hi Alice, Hi Bob, Hi Pete]可以使用内联for循环从其他列表动态创建列表。您可以直接修改值,就像本例中的字符串连接一样。
8. 列表映射
l = list(map(int, [1, 2, 3])) # print(l) >> [1, 2, 3]还可以使用Pythons map()函数将每个列表元素强制转换为另一种类型。
9. 集合创建
squares = { x**2 for x in range(6) if x < 4 } # print(squares) >> { 0, 1, 4, 9集合也是一样的。除了内联for循环之外,您甚至可以直接添加条件!
10. 回文检查
# phrase = deleveled isPalindrome = phrase == phrase[::-1] # print(isPalindrome) >> true回文是一系列向前和向后读取相同的字符。如果给定字符串是回文,通常需要一些循环和条件来检查。在Python中,你只需要比较字符串和它的反向字符串。除了使用切片操作符[::-1]之外,您还可以使用reverse()函数来反转字符串。
英文原文:
https://dev.to/devmount/10-awesome-pythonic-one-liners-explained-3doc