10 个 Python String 字符串的常用技巧,大大地提升我们的开发效率,终于有时间陪女朋友了

简介: 10 个 Python String 字符串的常用技巧,大大地提升我们的开发效率,终于有时间陪女朋友了

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

小结


以上介绍的都是比较常用的小技巧,代码函数不多,非常简洁易懂。


相关文章
|
4天前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的大学竞赛报名管理系统
基于Python+Vue开发的大学竞赛报名管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的大学竞赛报名管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
27 3
基于Python+Vue开发的大学竞赛报名管理系统
|
9天前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的摄影网上预约管理系统
基于Python+Vue开发的摄影网上预约管理系统(前后端分离),影楼婚纱摄影,这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的在线摄影预约管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
18 6
基于Python+Vue开发的摄影网上预约管理系统
|
9天前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的新闻管理系统
这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的新闻管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
17 4
基于Python+Vue开发的新闻管理系统
|
12天前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的酒店客房预订管理系统
基于Python+Vue开发的酒店客房预订管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的酒店客房预订管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
29 7
基于Python+Vue开发的酒店客房预订管理系统
|
10天前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的房产销售管理系统
基于Python+Vue开发的房产销售管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的房产销售管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
18 4
基于Python+Vue开发的房产销售管理系统
|
10天前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的美容预约管理系统
基于Python+Vue开发的美容预约管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的美容诊所预约管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
20 3
基于Python+Vue开发的美容预约管理系统
|
3天前
|
IDE 数据挖掘 开发工具
python开发
python开发
9 3
|
6天前
|
SQL JavaScript 前端开发
用Java、Python来开发Hive应用
用Java、Python来开发Hive应用
18 6
|
7天前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的商城管理系统
是基于Python+Vue开发的商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的网上商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
21 5
|
7天前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的反诈视频宣传管理系统
基于Python+Vue开发的反诈视频宣传管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的反诈宣传管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
16 4