Python 是一门可读性和简洁性都非常好的编程语言,经常可以用简单的一行代码即实现其他语言需要多行代码才可以实现的功能。在实际开发过程中,我们经常会使用到 String 字符串,今天,就让我们来介绍 Python 开发过程中的一些常用技巧,大大得提高我们的开发效率
1. 反转字符串
在开发过程中,经常需要用到字符串的反转,这里我们可以采用切片操作实现字符串的反转:
# Reversing a string using slicing my_string = "ABCDE" reversed_string = my_string[::-1] print(reversed_string) # Output # EDCBA
2. 判断两个字符串是否是字谜(Anagrams)
字谜(Anagrams)是指将一个单词打乱其字母顺序,重新排列为一个新的单词。
Counter正好可以用于解决这个问题,因为如果两个字符串的 Counter 对象相等,就表示它们就是字谜,因为包含相同元素且元素数量都相同。
示例如下:
from collections import Counter str_1, str_2, str_3 = "acbde", "abced", "abcda" cnt_1, cnt_2, cnt_3 = Counter(str_1), Counter(str_2), Counter(str_3) if cnt_1 == cnt_2: print('1 and 2 anagram') if cnt_1 == cnt_3: print('1 and 3 anagram')
3. 实现首字母大写
这个小技巧是让字符串中每个单词的首字母变为大写,通过方法 title() 实现:
my_string = "my name is chaitanya baweja" # using the title() function of string class new_string = my_string.title() print(new_string) # Output # My Name Is Chaitanya Baweja
4. 查找字符串中唯一元素
这个技巧是查找字符串中不重复的元素有哪些,通过集合 set 来实现:
my_string = "aavvccccddddeee" # converting the string to a set temp_set = set(my_string) # stitching set into a string using join new_string = ''.join(temp_set) print(new_string)
5. 打印 n 次字符串或者列表
这个技巧通过乘法即可实现打印多次的操作:
n = 3 # number of repetitions my_string = "abcd" my_list = [1,2,3] print(my_string*n) # abcdabcdabcd print(my_string*n) # [1,2,3,1,2,3,1,2,3]
这个技巧比较有趣的应用是定义一个包含 n 个重复的常数元素的列表,如下所示:
n = 4 my_list = [0]*n # [0, 0, 0, 0]
6. 交换两个变量
Python 中交换两个变量的数值是非常简单的,完全不需要第三个变量作为中间值。示例如下所示:
a = 1 b = 2 a, b = b, a print(a) # 2 print(b) # 1
7. 合并多个字符串为一个字符串
采用 join() 方法可以将多个字符串合并为一个字符串。这相当于上一条技巧的反向操作。示例如下所示:
list_of_strings = ['My', 'name', 'is', 'Chaitanya', 'Baweja'] # Using join with the comma separator print(','.join(list_of_strings)) # Output # My,name,is,Chaitanya,Baweja
8. 字符串分割为一串子字符串列表
采用 split() 方法可以将字符串分割为一个包含其子字符串的列表,示例如下所示:
string_1 = "My name is Chaitanya Baweja" string_2 = "sample/ string 2" # 默认分割符 ' ' print(string_1.split()) # ['My', 'name', 'is', 'Chaitanya', 'Baweja'] # 自定义分割符 '/' print(string_2.split('/')) # ['sample', ' string 2']
9. 判断字符串是否回文
通过反转字符串,再和原字符串比较,可以判断是否为回文,示例如下:
my_string = "abcba" if my_string == my_string[::-1]: print("palindrome") else: print("not palindrome") # Output # palindrome
小结
以上介绍的都是比较常用的小技巧,代码函数不多,非常简洁易懂。