Python学习之17个关于Python的小技巧


本文摘自php中文网,作者Tomorin,侵删。

Python 是一门非常简洁的语言,python的简洁易用令人不得不感叹这门语言的轻便。在本文中,我们列举了 17 个非常有用的 Python 技巧,这 17 个技巧都非常简单,但它们都很常用且能激发不一样的思路。

很多人都知道 Python 是一种高级编程语言,其设计的核心理念是代码的易读性,以及允许编程者通过若干行代码轻松表达想法创意。实际上,很多人选择学习 Python 的首要原因是其编程的优美性,用它编码和表达想法非常自然。此外,Python编写使用方式有多种,数据科学、网页开发、机器学习皆可使用 Python。Quora、Pinterest 和 Spotify 都使用 Python 作为其后端开发语言。

交换变量值

1

2

3

4

5

"""pythonic way of value swapping"""

a, b=5,10

print(a,b)

a,b=b,a

print(a,b)

将列表中的所有元素组合成字符串

1

2

a=["python","is","awesome"]

print("  ".join(a))

查找列表中频率最高的值

1

2

3

4

5

6

7

"""most frequent element in a list"""

a=[1,2,3,1,2,3,2,2,4,5,1]

print(max(set(a),key=a.count))

"""using Counter from collections"""

from collections import Counter

cnt=Counter(a)

print(cnt.most_commin(3))

检查两个字符串是不是由相同字母不同顺序组成


1

2

from collections import Counter

Counter(str1)==Counter(str2)

反转字符串


1

2

3

4

5

6

7

8

"""reversing string with special case of slice step param"""

  a ='abcdefghij k lmnopqrs tuvwxyz 'print(a[ ::-1] )

  """iterating over string contents in reverse efficiently."""

  for char in reversed(a):

  print(char )

  """reversing an integer through type conversion and slicing ."""

  num = 123456789

  print( int( str(num)[::1]))

反转列表


1

2

3

4

5

6

"""reversing list with special case of slice step param"""

 a=[5,4,3,2,1]

 print(a[::1])

 """iterating over list contents in reverse efficiently ."""

 for ele in reversed(a):

 print(ele )

转置二维数组

1

2

3

4

"""transpose 2d array [[a,b], [c,d], [e,f]] -> [[a,c,e], [b,d,f]]"""

original = [['a', 'b'], ['c', 'd'], ['e', 'f']]

transposed = zip( *original )

print(list( transposed) )

链式比较


1

2

3

4

""" chained comparison with all kind of operators"""

b  =6

print(4< b < 7 )

print(1 == b < 20)

链式函数调用

1

2

3

4

5

6

7

"""calling different functions with same arguments based on condition"""

def  product(a, b):   

    return a * b

def  add(a, b):  

    return a+ b

b =True

print((product if b else add)(5, 7))

复制列表


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

"""a fast way to make a shallow copy of a list"""

  b=a

  b[0]= 10

 """ bothaandbwillbe[10,2,3,4,5]"""

 b = a[:]b[O] = 10

  """only b will change to [10, 2, 3, 4, 5] """

  """copy list by typecasting method"""

  a=[l,2,3,4,5]

print(list(a))

  """using the list.copy( ) method ( python3 only )"""

  a=[1,2,3,4,5]

  print(a.copy( ))

  """copy nested lists using copy. deepcopy"""

  from copy import deepcopy

  l=[l,2],[3,4]]

  l2 = deepcopy(l)

print(l2)

字典get法


1

2

3

""" returning None or default value, when key is not in dict"""

d = ['a': 1, 'b': 2]

print(d.get('c', 3))

通过「键」排序字典元素


1

2

3

4

5

6

7

8

"""Sort a dictionary by its values with the built-in sorted( ) function and a ' key' argument ."""

  d = {'apple': 10, 'orange': 20, ' banana': 5, 'rotten tomato': 1)

   print( sorted(d. items( ), key=lambda x: x[1]))

  """Sort using operator . itemgetter as the sort key instead of a lambda"""

  from operator import itemgetter

  print( sorted(d. items(), key=itemgetter(1)))

  """Sort dict keys by value"""

  print( sorted(d, key=d.get))

For Else


1

2

3

4

5

6

7

"""else gets called when for loop does not reach break statement"""

a=[1,2,3,4,5]

for el in a:

 if el==0:

  break

else:

 print( 'did not break out of for  loop' )

转换列表为逗号分割符格式


1

2

3

4

5

6

7

8

9

  """converts list to comma separated string"""

items = [foo', 'bar', 'xyz']

print (','.join( items))

"""list of numbers to comma separated"""

numbers = [2, 3, 5, 10]

print (','.join(map(str, numbers)))

"""list of mix data"""

data = [2, 'hello', 3, 3,4]

print (','.join(map(str, data)))

合并字典

1

2

3

4

5

6

7

8

"""merge dict's"""

d1 = {'a': 1}

d2 = {'b': 2}

# python 3.5

print({**d1, **d2})

print(dict(d1. items( ) | d2. items( )))

d1. update(d2)

print(d1)

列表中最小和最大值的索引

1

2

3

4

5

6

7

8

9

"""Find Index of Min/Max Element .

"""

lst= [40, 10, 20, 30]

def minIndex(lst):

  return min( range(len(lst)), key=lst.. getitem__ )

def maxIndex(lst):

  return max( range( len(lst)), key=lst.. getitem__ )

print( minIndex(lst))

print( maxIndex(lst))

移除列表中的重复元素


1

2

3

4

5

6

7

8

  """remove duplicate items from list. note: does, not preserve the original list order"""

items=[2,2,3,3,1]

newitems2 = list(set( items))

print (newitems2)

"""remove dups and, keep. order"""

from collections import OrderedDict

items = ["foo", "bar", "bar", "foo"]

print( list( orderedDict.f romkeys(items ).keys( )))

以上,就是关于Python编程中的17个实用且有效的小操作


以上就是Python学习之17个关于Python的小技巧的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

如何删除 list 中指定 index 的元素

Python可以做网站吗

Python使用paramiko连接远程服务器执行命令的示例代码

Python解释器在语法上不支持什么编程方式

Python脚本是什么

Python里floor怎么用

Python如何转换时间戳

一篇文章带你学习Python列表

Python用户验证怎么弄

Python3怎么安装库

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...