自从我用Python编写第一行代码以来,我就被它的简单性、出色的可读性和特别流行的单行代码所吸引。下面,我想介绍和解释其中的一些单行代码——可能有一些你还不知道,但对你的下一个Python项目很有用。1.交换两个变量#a=1;b=2a,bb=b,a#print(a,b)>>21先说一个经典的:通过简单的交换赋值位置来交换变量的值——在我看来,这是最直观的做法。无需使用临时变量。它甚至适用于两个以上的变量。2.多变量赋值a,b,*c=[1,2,3,4,5]#print(a,b,c)>>12[3,4,5]交换变量其实是python特有的一个一次分配多个变量的情况。在这里,您可以使用它将列表元素分配给给定变量,这也称为拆包。*会把剩下的值重新打包,这样就会得到一个c的子列表。它甚至可以用在*的其他地方(例如列表的开头或中间)。3.对list的每两个元素求和#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]dela[::2]#print(a)>>[2,4]也可以使用扩展切片语法删除多个元素一次列出元素。5.将文件读入线数组c=[line.strip()forlineinopen('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读取文件真的很简单。旁注:如果您愿意,也可以使用readlines()方法。6.将字符串写入文件withopen('file.txt','a')asf:f.write('helloworld')#print(list(open('file.txt')))>>['test1\n','test2\n','test3\n','test4\n','helloworld']借助With语句,可以直接将内容写入文件。确保以正确的模式打开文件(此处“a”表示追加)。7.创建一个列表l=[('Hi'+x)forxin['Alice','Bob','Pete']]#print(l)>>['HiAlice','HiBob','HiPete']可以使用内联for循环从其他列表动态创建列表。可以直接修改值,就像本例中的字符串拼接一样。8.列表映射l=list(map(int,['1','2','3']))#print(l)>>[1,2,3]你也可以使用Pythonsmap()函数将每个列表元素转换为另一种类型。9.集合创建squares={x**2forxinrange(6)ifx<4}#print(squares)>>{0,1,4,9集合同理。除了内联for循环,您甚至可以直接添加条件!10.Palindromecheck#phrase='deleleveled'isPalindrome=phrase==phrase[::-1]#print(isPalindrome)>>truePalindrome是一个系列,向前和向后读取相同的字符。通常需要一些循环和条件来检查给定的字符串是否是回文。在Python中,您只需将字符串与其反向进行比较。除了使用切片运算符[::-1],您还可以使用reverse()函数来反转字符串。英文原文:https://dev.to/devmount/10-awesome-pythonic-one-liners-explained-3doc
