如何在 Python 中获取字符串的最后 N 个字符

作者 : 慕源网 本文共2422个字,预计阅读时间需要7分钟 发布时间: 2021-10-6 共345人阅读

介绍

在本文中,您将了解 3 种不同的方式在 Python 中打印字符串的最后 N 个字符。

Python

Python 是一种解释性的、高级的、通用的编程语言,由 Guido van Rossum 创建并于 1991 年首次发布。他开始 Python 作为一个爱好项目,让他在圣诞节前后的一周内保持忙碌。它的名字来源于英国喜剧剧团巨蟒的名字。它用于:
  1. 软件开发
  2. Web开发
  3. 系统脚本
  4. 数学

要了解如何使用 Python 编程,请访问Python 基础知识

Python字符串

String 是一个字节数组,表示 Python 中的 Unicode 字符。Python 不支持字符数据类型。单个字符也可用作字符串。Python 支持在单引号 (”) 和双引号 (“”) 内写入字符串。

查找字符串的最后 N 个字符

为了理解这些概念,我将使用一个演示字符串“C# Corner”。给定的字符串以下列方式在内存中表示:
如何在 Python 中获取字符串的最后 N 个字符

字符串切片

切片意味着砍掉任何东西,而字符串切片意味着提取字符串的所需部分并打印出来。下面给出了演示字符串的内存表示以及索引值。
如何在 Python 中获取字符串的最后 N 个字符
从 0 到 4 的索引称为正索引或默认索引。正索引总是从零开始。
从 -5 到 -1 的索引称为负索引。负索引总是从 -1 开始并上升到下限;即减去字符串的长度加1,即“-(len(string)+1)”。负索引用于以相反的顺序获取字符串。

   打印字符串的最后一个字符

如何在 Python 中获取字符串的最后 N 个字符

   方法 1:使用切片字符串(Slicing )

在这种方法中,我们将使用负切片(slicing ),即我们将打印存储在演示字符串 -1 索引处的值。
str = "C# Corner"    
print(str[-1])
输出将是:r
打印字符串最后一个元素的另一种方法是
str = "C# Corner"        
print(str[-1::])    # or print(str[-1:]) 

同样,我们可以通过以下逻辑打印最后2个元素

str = "C# Corner"      
print(str[-2::])  # or print(str[-2:])
输出将是:er
以同样的方式,您可以打印一个字符串的最后 N 个字符。

   方法 2:使用反转字符串

这涉及反转字符串,然后使用正切片。要了解该方法,让我们首先看看反转字符串的各种方法。
1. 使用字符串切片
string = "C# Corner"  
    
print ("The original string  is : ",end="")   
print (string)   
    
print ("The reversed string(using loops) is : ",end="")   
print (string[::-1]) 
在上面的代码中,我们使用了切片的概念,其中“string[::-1]”意味着我们必须打印从“negative one”索引开始的整个字符串。
2. 使用循环
def reverse(s):   
  _str = ""   
  for i in s:   
    _str = i + _str 
  return _str 
    
string = "C# Corner"  
    
print ("The original string  is : ",end="")   
print (string)   
    
print ("The reversed string(using loops) is : ",end="")   
print (reverse(string))  
在上面的代码中,我们使用了我们通常与回文检查一起使用的概念。这里我们取一个空字符串,从最后一个字符开始一个一个地添加每个字符。
3. 使用递归
def reverse(s):   
    if len(s) == 0:   
        return s   
    else:   
        return reverse(s[1:]) + s[0]   
    
_str = "C# Corner"  
    
print ("The original string  is : ",end="")   
print (_str)   
    
print ("The reversed string(using recursion) is : ",end="")  
print (reverse(_str))  
在上面的代码中,我们使用递归的概念,从最后一个字符开始,一个一个地打印所有字符。
4. 使用“反转”
def reverse(string):   
    string = "".join(reversed(string))   
    return string   
    
_str = "C# Corner"  
    
print ("The original string  is : ",end="")   
print (_str)   
    
print ("The reversed string(using reversed) is : ",end="")  
print (reverse(_str))  
在上面的代码中,我们使用了字符串“join()”方法,该方法执行字符串连接,而reversed()用于返回给定序列的反向迭代器。
您可以使用上述任何一种方法来反转字符串,我使用字符串切片方法来反转字符串。
在下面的代码中,我们反转字符串,然后打印反转字符串的索引零。
str = "C# Corner"  
print(str[::-1][0])  # or print(str[::-1][0:1]) 
输出将是:r
与打印字符串的最后 2 个字符类似,我们可以执行以下操作:
str = "C# Corner"  
print(str[::-1][0:2]) 
输出将是:re
以同样的方式,您可以打印字符串的最后 N 个字符。

   方法三:使用字符串的长度

在这个方法中,我们将首先找到字符串的长度,然后我们将打印字符串的最后 N 个字符。
_str = "C# Corner"  
print(_str[len(_str)-1]) 
在上面的代码中,我们通过打印字符串的长度减 1 值来打印字符串的最后一个字符。
_str = "C# Corner"  
N_of_char = 2  
for i in range(0,N_of_char):  
    print(_str[len(_str)-(i+1)],end="") 
您可以使用上面的示例打印任意数量的最后一个字符,您只需要将“N_of_char”值更改为您想要的值。我想打印最后 2 个字符,所以我将该值设置为 2。

结论

在本文中,我们讨论了在 Python 中打印字符串的最后 N 个字符的 3 种方法。请尝试这些方法并评论您对本文有用的看法。

慕源网 » 如何在 Python 中获取字符串的最后 N 个字符

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录