字符串如何实现反转?python实现

  今天和一个同事出去吃饭,突然话风转变,考了问我一个问题,他说哥,你知道字符串怎么反转吗? 我想了想,我擦,回家看我博客.作为一个资深开发,怎么可能被一个毛头小子问住了!

于是,我今天就稍微的整理了一下,就发出来了,希望能帮助到大家!

  字符串是python中最最最常见的数据类型之一了

      比如给定你   string=‘abcdefg‘

      冷的一下问你这个问题,还有可能把你问住了!

      下面就是我整理的几个方法,简单易懂,初学者都能看懂!

  

第一种方法:切片实现 实用简单 推荐使用

1 string=‘abcdefg‘
2 print(string[::-1])

第二种方法 使用reduce  显得更高大上 慢

1 reduce(lambda x,y : y+x, a_string)

第三种方法 使用列表 循环拼接 慢

1 string=‘abcdefg‘
2 lst=[]
3 lst.extend(string)
4 lst.reverse()
5 new_string = ‘‘
6 for st in lst:
7     new_string = new_string + st
8 print(new_string)

第四种,根据长度,得到最后一个索引值,循环按照索引从后面取值, 不写代码演示了

还可以使用栈实现, 这些方法只有第一种的速度是最快的,而且最简单,收藏了吧! 整理不易!

原文地址:https://www.cnblogs.com/well-666/p/11221926.html

时间: 2024-10-04 16:49:05

字符串如何实现反转?python实现的相关文章

单链表反转python实现

单链表的反转可以使用循环,也可以使用递归的方式 1.循环反转单链表 循环的方法中,使用pre指向前一个结点,cur指向当前结点,每次把cur->next指向pre即可. 代码: class ListNode: def __init__(self,x): self.val=x; self.next=None; def nonrecurse(head): #循环的方法反转链表 if head is None or head.next is None: return head; pre=None; c

拼接字符串;字符反转;统计大串中小串出现的次数

package Homework; import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Scanner;/** * 把数组中的数据按照指定个格式拼接成一个字符串举例:int[] arr = {1,2,3}; 输出结果:[1, 2, 3] 字符串反转举例:键盘录入"abc" 输出结果:"cba" 统计大串中小串出现的次数举例:在字符串&q

实现字符串中单词反转

????#include <stdio.h> int main() { char str[]="student a am i"; printf("%s\n",str); char *p,*q; char temp; p=q=str; while(*q!='\0') { q++; } q--; while(p<=q) { temp=*p; *p=*q; *q=temp; p++; q--; } //反转整个字符串 char *s; q=p=s=str

【LeetCode在线编程记录-1】字符串按单词反转

写在前面 LeetCode(地址:https://oj.leetcode.com/)是一个在线编程网站,题目经典,测试用例完备,共计157道算法类的题目.之后我会记录我的一些练习题目,有些答案是我自己原创的(说是原创,也很可能是之前在别的地方看到的而已),有些是从讨论区看到的,我都会明确标注出处. Reverse Words in a String Given an input string, reverse the string word by word. For example, Given

字符串转二进制(反转)

//本人暂时还是一名初级程序员,在编程方面还有很多欠缺,文采也有限,写得不好的地方勿喷! byte[]   bytearray=System.Text.Encodig.UTF8.GetBytes("字符串"); //转换后的为byte类型的二进制数组 如:byte[0] 229 byte[1] 175.... //取数据可以通过Foreach和For循环遍历取出 Foreach(byte  key  in  bytearray) { //key } //反转:注意只能转byte[]类型

文件名称排序 字符串序+数字序 python

# -*-coding:utf8-*- """ 基于字符串数字混合排序的Python脚本 """ def is_number(s): try: float(s) return True except ValueError: pass try: import unicodedata unicodedata.numeric(s) return True except (TypeError, ValueError): pass return False

链表反转python

def reverse_node_list(head): if not head or not head.next: return head prev = None while head: curr = head head = head.next curr.next = prev prev = curr return prev 设置三个指针, prev指向前一个节点, head 指向现在的节点, curr指向下一个要去的节点 初始化: prev空 head表头 先保留当前节点 挪动指针 当前节点

python cookies提取——从字符串到字典(一行Python代码)

def extract_cookies(cookie): """从浏览器或者request headers中拿到cookie字符串,提取为字典格式的cookies""" cookies = dict([l.split("=", 1) for l in cookie.split("; ")]) return cookies if __name__ == "__main__": cookie

单链表的反转 python实现实例

单链表反转实现 1.递归实现 根据递归,递归到最后一个节点(条件为head3为非空,其下一个指向为空),将其next指向前一个结点,前一个结点的指向为None. def recurse(head, newhead): # 递归,head为原链表的头结点,newhead为反转后链表的头结点 if head is None: return if head.next is None: newhead = head else: newhead = recurse(head.next, newhead)