在不使用附加缓冲区的情况下从Python中删除字符串中的重复项

爱德华多

我想在Python中解决此问题:

given a string (without spacing), remove the duplicates without using an adittional buffer.

我有以下代码:

 def removedup(st):
 temp = []
 for i in range(len(st)):
         if st[i] not in temp:
                 temp.append(st[i])
 return temp

它返回一个没有重复的列表。

1-这个代码在O(n ^ 2)中对吗?

2-如何在不使用python中额外缓冲区的情况下做同样的事情?(我的意思是不使用列表)。也许我可以使用字符串(而不是列表),但是不确定是否会增加复杂性。另外,python中的字符串是不可变的,因此我无法进行某种类型的索引更改。(类似于C ++或Java)。

用Python解决此问题的最佳方法是什么?我知道这里有一些“看起来像”重复的问题,但是我的问题更多是与Python相关的(无需额外的缓冲区即可解决此问题)。

谢谢!

悬挂

1)是的。

2)好吧

return set(st)

到目前为止,..是唯一化字符串(或任何可迭代的)的最简单方法。我不知道您是否将此视为“附加缓冲区”。您要做的任何方式都需要为另一个对象分配一些额外的内存,因为如您所说,字符串是不可变的。

当然,这不会保留顺序,如果这是一个问题,那么总会很明显:

from collections import OrderedDict

return ''.join(OrderedDict.fromkeys(st))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在不使用Eval的情况下将字符串转换为Python中的列表?

来自分类Dev

在不使用任何字符串函数的情况下从java中的字符串制作子字符串

来自分类Dev

如何在不使用Distinct的情况下删除SQL查询中的重复项?

来自分类Dev

如何在不使用任何内置php函数的情况下搜索字符串中的连续重复字符?

来自分类Dev

如何在不使用集合的情况下从python列表中删除重复的单词?

来自分类Dev

如何在不使用Java中的Replace()的情况下替换字符串中的char?

来自分类Dev

在不使用内置函数的情况下反转字符串JS中的单词

来自分类Dev

在不使用任何字符串函数的情况下反转php中的字符串

来自分类Dev

从Google协议缓冲区中的重复字符串(列表)中删除随机值

来自分类Dev

在使用scanf扫描字符串的情况下,为什么不存储先前的输入缓冲区?

来自分类Dev

如何在不使用While的情况下删除左侧重复的字符串?

来自分类Dev

在不使用任何数据结构的情况下从输入中删除重复项

来自分类Dev

C:尝试在不使用任何字符串库功能的情况下从字符串中删除空格

来自分类Dev

在不使用set的情况下从嵌套列表中删除重复项

来自分类Dev

如何在不使用字典的情况下将字符串转换为python中的变量?

来自分类Dev

在不使用Util类的情况下从数组中删除重复项

来自分类Dev

在不使用set()的情况下删除元组中的重复项

来自分类Dev

在不使用数组的情况下计算字符串中的唯一单词

来自分类Dev

在不使用C#中内置函数的情况下计算字符串长度

来自分类Dev

如何在不使用`uniq`的情况下删除数组中的重复项?

来自分类Dev

如何在不使用集合的情况下从python列表中删除重复的单词?

来自分类Dev

在使用scanf扫描字符串的情况下,为什么不存储先前的输入缓冲区?

来自分类Dev

字符串/缓冲区中的EOF文件字符

来自分类Dev

如何在不刷新缓冲区的情况下用换行符打印字符串?

来自分类Dev

如何在不使用数组的情况下删除字符串中的重复单词?

来自分类Dev

如何在不使用 Hashmap 的情况下对字符串中的字符重新排序?

来自分类Dev

如何在不丢失顺序的情况下删除 Swift 中字符串的重复行?

来自分类Dev

PHP 在某些情况下将缓冲区字符串打印到网页中?

来自分类Dev

在不使用熊猫的情况下合并和删除两个 csv 中的重复项

Related 相关文章

  1. 1

    在不使用Eval的情况下将字符串转换为Python中的列表?

  2. 2

    在不使用任何字符串函数的情况下从java中的字符串制作子字符串

  3. 3

    如何在不使用Distinct的情况下删除SQL查询中的重复项?

  4. 4

    如何在不使用任何内置php函数的情况下搜索字符串中的连续重复字符?

  5. 5

    如何在不使用集合的情况下从python列表中删除重复的单词?

  6. 6

    如何在不使用Java中的Replace()的情况下替换字符串中的char?

  7. 7

    在不使用内置函数的情况下反转字符串JS中的单词

  8. 8

    在不使用任何字符串函数的情况下反转php中的字符串

  9. 9

    从Google协议缓冲区中的重复字符串(列表)中删除随机值

  10. 10

    在使用scanf扫描字符串的情况下,为什么不存储先前的输入缓冲区?

  11. 11

    如何在不使用While的情况下删除左侧重复的字符串?

  12. 12

    在不使用任何数据结构的情况下从输入中删除重复项

  13. 13

    C:尝试在不使用任何字符串库功能的情况下从字符串中删除空格

  14. 14

    在不使用set的情况下从嵌套列表中删除重复项

  15. 15

    如何在不使用字典的情况下将字符串转换为python中的变量?

  16. 16

    在不使用Util类的情况下从数组中删除重复项

  17. 17

    在不使用set()的情况下删除元组中的重复项

  18. 18

    在不使用数组的情况下计算字符串中的唯一单词

  19. 19

    在不使用C#中内置函数的情况下计算字符串长度

  20. 20

    如何在不使用`uniq`的情况下删除数组中的重复项?

  21. 21

    如何在不使用集合的情况下从python列表中删除重复的单词?

  22. 22

    在使用scanf扫描字符串的情况下,为什么不存储先前的输入缓冲区?

  23. 23

    字符串/缓冲区中的EOF文件字符

  24. 24

    如何在不刷新缓冲区的情况下用换行符打印字符串?

  25. 25

    如何在不使用数组的情况下删除字符串中的重复单词?

  26. 26

    如何在不使用 Hashmap 的情况下对字符串中的字符重新排序?

  27. 27

    如何在不丢失顺序的情况下删除 Swift 中字符串的重复行?

  28. 28

    PHP 在某些情况下将缓冲区字符串打印到网页中?

  29. 29

    在不使用熊猫的情况下合并和删除两个 csv 中的重复项

热门标签

归档