Python干货整理之奇淫技巧篇

Table of Contents

Python知识点整理之奇淫技巧篇

1 用一行代码判断一个字符串中的字符是否相同

2  将一个字符串转化为驼峰式

3 复制一个字符串n次组成一个新的字符串

4 将字符串转换为下划线分割式

5 获得字典的键列表

6 获得字典的值列表


 

Python知识点整理之奇淫技巧篇

作者:

Howard Wonanut

参考资料:

1. 30s学会一个python小技巧

2. Python正则表达式 | 菜鸟教程

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

 

1 用一行代码判断一个字符串中的字符是否相同

str[1:] == str[:-1]

 可以将其封装为一个函数:

def all_equal(str):
    return str[1:] == str[:-1]

 

2  将一个字符串转化为驼峰式

这里的字符串需要满足如下规则:单词与单词之间需要使用"_", "-"或者" "分割。

import re

def camel(s):
    s = re.sub(r"(\s|_|-)+", " ", s).title().replace(" ", "")
    return s[0].lower() + s[1:]


"""
>>> camel("some-mixed_string with spaces_underscores-and-hyphens")
"someMixedStringWithSpacesUnderScoresAndHyphens"
"""

这方法里面涉及到以下知识点:

  • re.sub: re是python中的正则表达式模块,使用该模块可以轻松的对字符进行正则化处理。这里使用的re.sub的原型为:
re.sub(pattern, repl, string, count=0, flags=0)

"""
pattern : 正则中的模式字符串。
repl : 替换的字符串,也可为一个函数。
string : 要被查找替换的原始字符串。
count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
"""
  • title(): 返回"标题化"的字符串,就是说所有单词都是以大写开始,如输入为“this is a sentence.”将输出"This Is A Sentence."
  • replace(): 这是一个python中常用的函数,将字符串中所有第一个子串转换为第二个子串。
  • lower(): 这也是一个python中常用的函数,将字符中的英文字母转为小写。

 

3 复制一个字符串n次组成一个新的字符串

python中可以直接使用str * n_times完成对字符串的n_times次复制:

def n_times_string(str, n):
    return str * n

4 将字符串转换为下划线分割式

这个问题和问题2中的解决办法类似,使用re模块:

def snake(str):
    return '_'.join(re.sub('([A-Z]+)', r' \1', s.replace('-', ' ')).split()).lower()

"""
>>> snake("AllThe-small Things")
"all_the_small_things"
"""

5 获得字典的键列表

def keys_only(flat_dict):
    return list(flat_dict.keys())

6 获得字典的值列表

def values_only(flat_dict):
    return list(flat_dict.values())

未完待续~ 

你可能感兴趣的:(python)