Python技巧,Python用法

  Python技巧,Python用法

  Python知识点排序的奇妙技巧作者:

  霍华德沃纳努特

  参考资料:

  1.30秒学会一个python技巧

  2.Python正则表达式新手教程

  3.Python title()方法菜鸟教程

  1用一行代码判断一个字符串中的字符是否相同。str[1:]==str[:-1]可以封装成一个函数:

  def all _ equal(str):return str[1:]==str[:-1]

  2要将一个字符串转换成驼峰类型,这里的字符串需要满足以下规则:单词之间需要用 _ 、-或分隔。

  import redef camel(s):s=re sub(r (\ s _ -), ,s)。标题()。replace(,)返回[0]。lower()s[1:] camel( some-mixed _ string with spaces _ scores-and-hyphens ) some mixed string with spaces sunderscoresandhyphens 此方法涉及以下知识点:

  re:re是python中的正则表达式模块,可以很容易地正则化字符。这里使用的re.sub的原型是:re sub(pattern,repl,string,count=0,flags=0)“”pattern:正则化中的模式字符串。Repl:替换字符串,也可以是函数。String:要查找和替换的原始字符串。Count:模式匹配后替换的最大次数。默认值0表示替换所有匹配项。Title():返回一个“titled”字符串,这意味着所有单词都以大写字母开头。比如你输入“这是一个句子。”,你会输出‘这是一个句子。’replace():这是python中一个常用的函数,它将一个字符串中的所有第一个子字符串转换成第二个子字符串。Lower():这也是python中常用的函数,将字符中的英文字母变成小写。

  3将一个字符串复制n次,形成一个新字符串。在python中,str * n_times可以直接用来完成字符串的n_times复制:

  DEF _ Times _ String (str,n): RETURN STR * N4将字符串转换为下划线拆分类型这个问题类似于问题2中的解决方案,使用了re模块:

  def snake(str):返回 _ 。join(re(([A-Z]),r \1 ,s.replace(-,)。split())。lower() snake( all the-small things ) all _ the _ small _ things 5获取字典的键列表def keys _ only (flat _ dict):返回列表(flat _ dict.keys ( 6获取字典的值列表def values _ only (flat _ dict):返回列表(flat _ dict。values ()) 7使用python方法反转列表顺序def reverse(arr):return arr[:-1]8一行代码完成for循环生成列表。下面的写法叫做Python列表派生。

  Arr=[1,2,3,4,5,6,7] [x * x for x in arr] [1,4,9,16,25,36,49] #添加判断条件[x*x for x in arr if x1] [1,9,25,49]

  【a b for a in a bC for b in ABC 】[ AA , AB , AC , BA , BB , BC , CA , CB , CC]列表推导中有if-else语句。

  A=[I if i1==0 else A for I in range(10)]

  9行代码Python定义了一个二维数组,定义了一个三行四列的二维数组。

  # method 1 arr=[[0 for I in range(4)]for j in range(3)][[0,0,0,0],[0,0,0,0],[0,0,0,0]]# method 2将numpy作为nparr=NP,array ([

  1Reduce函数reduce()函数累加参数序列中的元素。

  该函数对数据集(链表、元组等)中的所有数据执行以下操作。):先用传递来的函数(带两个参数)对集合中的第一个和第二个元素进行运算,再用函数function用第三个数据计算结果,最后得到一个结果。

  从func工具导入reduce def add (a,b):返回a b reduce (add,[1,2,3,4,5]) # output 15: 1 2 3 4 5应用示例:

  现有三个数组L1=[a , b , c],L2=[x , y , z],L3=[1,2,3],通过编程得到这三个数组按顺序排列的结果x1x2x3,满足X1,X2,x3分别属于L1,L2,L3。

  from func tools import reduce def func(L1,L2):return[str(a)str(b)for a in L1 for b in L2]reduce(func,[a , b , c],[x , y , z],[1

  从functools导入reducereduce(lambda l1,L2:[str(A)str(B)for A in L1 for B in L2],[[A , B , C],[x , y , z],[1,2,3]])

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: