当前位置: 首页 > 面试题库 >

Python是否按字符串对切片进行切片?

苗冯浩
2023-03-14
问题内容

我想知道我什么时候做类似的事情

a = "This could be a very large string..."
b = a[:10]

创建新字符串或返回视图/迭代器


问题答案:

Python会进行逐个切片,这意味着每次切片时(非常琐碎的切片(例如a[:])除外),它都会将所有数据复制到一个新的字符串对象中。

根据一位开发人员的说法,之所以做出此选择是因为

[按引用切片]方法更复杂,更难实现并且可能导致意外行为。

例如:

a =“带有500,000个字符的长字符串...”
b = a [0]
德拉

使用“按切片复制”设计,a可以立即释放字符串。尽管您只对第一个字符感兴趣,但按切片的设计会将500kB的字符串保留在内存中。

显然,如果您绝对 需要
一个字符串视图,则可以使用一个memoryview对象。



 类似资料:
  • 本文向大家介绍详解Python字符串切片,包括了详解Python字符串切片的使用技巧和注意事项,需要的朋友参考一下 在python中,我们定义好一个字符串,如下所示。 在python中定义个字符串然后把它赋值给一个变量。 我们可以通过下标访问单个的字符,跟所有的语言一样,下标从0开始(==,我自己都觉得写的好脑残了) 这个时候呢,我们可以通过切片的方式来截取出我们定义的字符串的一部分。 使用切片的

  • 问题内容: 在Go中,如果我有一个字符串变量s: 我如何将其转换或拆分或爆炸为切片或字符串数​​组,以使其变为: 问题答案: 您应该使用该软件包。 http://play.golang.org/p/UKZbcuJUPP

  • 问题内容: 我想通过实现以下目标: 我能够做到的唯一方法是: 现在,这个示例以及我真正拥有的是一个长长且混乱的字符串,因此我想将切片放入。我已经研究了docs,但无法找出正确的语法。我的问题是:是否可以在替换字段中切片字符串? 问题答案: 不可以,您无法将切片应用于替换字段中的字符串。 您需要参考Format Specification Mini- Language ;它定义了什么 是 可能的。这

  • 问题内容: 我想将字符串切片转换为指向字符串的指针切片 %!p(string = a)=>字符串 %!p(string = b)=>字符串 %!p(string = c)=>字符串 [0xc42000e1d0 0xc42000e1d0 0xc42000e1d0] 据我了解, 我的变量似乎是一个字符串,而不是指向字符串的指针。 因此应从迭代时复制。 显然我不正确,因为地址仍然相同。如果值不是指针,该

  • 问题内容: 在Golang中,我试图为我的旅行推销员问题创建一个加扰切片函数。在执行此操作时,我注意到当我开始编辑切片时,每次传递时,我赋予的加密功能都是不同的。 经过一些调试后,我发现这是由于我在函数内部编辑了切片。但是既然Golang被认为是一种“价值传递”的语言,那怎么可能呢? https://play.golang.org/p/mMivoH0TuV 我提供了一个游乐场链接来显示我的意思。通

  • 问题内容: 我有一个字符串,例如: 其中(逗号)将始终是最后一个字符的第三个字符,也就是。 我正在考虑删除’,’的方法,但只能考虑将字符串转换为列表,将其删除,然后将其转换回字符串。但是,对于简单任务而言,这似乎有点过多。 如何以更简单的方式完成此任务? 问题答案: 通常,您只需执行以下操作: 该给你一个字符串,最多,但不包括你要删除的逗号()和给你另一个字符串开始一个字符超出了逗号()。 然后,