Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的Pascal funcs插入/删除_Python - Fatal编程技术网

Python中的Pascal funcs插入/删除

Python中的Pascal funcs插入/删除,python,Python,Delphi具有多种功能 插入(将子字符串Str2插入偏移量P处的字符串Str)和 删除(从偏移量P处的字符串Str中删除N个字符) 在Python中,字符串与它们的相似之处是什么?您可以使用 s1[:p]+s2+s1[p:][/code> s1[:p]+s1[p+n:][/code> 例如: >>> s1 = 'hello world' >>> s2 = 'xyz' >>> p = 3 >>> s1[:p] + s

Delphi具有多种功能

  • 插入
    (将子字符串Str2插入偏移量P处的字符串Str)和
  • 删除
    (从偏移量P处的字符串Str中删除N个字符)
在Python中,字符串与它们的相似之处是什么?

您可以使用

  • s1[:p]+s2+s1[p:][/code>
  • s1[:p]+s1[p+n:][/code>
例如:

>>> s1 = 'hello world'
>>> s2 = 'xyz'
>>> p = 3
>>> s1[:p] + s2 + s1[p:]
'helxyzlo world'
>>> n = 2
>>> s1[:p] + s1[p+n:]
'hel world'
你可以用

  • s1[:p]+s2+s1[p:][/code>
  • s1[:p]+s1[p+n:][/code>
例如:

>>> s1 = 'hello world'
>>> s2 = 'xyz'
>>> p = 3
>>> s1[:p] + s2 + s1[p:]
'helxyzlo world'
>>> n = 2
>>> s1[:p] + s1[p+n:]
'hel world'

Python字符串是不可变的,因此您不能修改现有字符串——但您可以将这些操作应用于字符串并生成新字符串

可能最好的方法是切片,这是索引语法的扩展,允许您提取多个字符。因此:

>>> 'abcde'[1:4]
'bcd'
请注意,第一个索引是包含的,但第二个索引是独占的。一开始这很奇怪,但在Python中这是一个普遍存在的约定

如果省略第一个或最后一个索引,则切片将分别转到字符串的开头或结尾:

>>> 'abcde'[1:]
'bcde'
>>> 'abcde'[:4]
'abcd'
最后,您可以使用
+
运算符进行字符串连接:

>>> 'abc' + 'de'
'abcde'
将所有这些部分结合在一起,可以根据需要插入和删除子字符串:

>>> s = 'abcde'
>>> s[:2] + 'XYZ' + s[2:]  # Insert 'XYZ' before index 2
'abXYZcde'
>>> s[:2] + s[4:]          # Delete indices from 2 to before 4
'abe'
如果您想使用前面描述的
insert
delete
函数,您可以自己编写它们,但这并不难。扰流板警报--在阅读下面的代码之前,您可能想自己试一试。:)


(您可能会想出更好的参数名称——特别是,使用
str
是不可取的,因为它也是Python内置的名称——但在本例中,我故意使用了与您在问题中使用的相同的名称。)

Python字符串是不可变的,因此,您不能修改现有字符串,但可以将这些操作应用于字符串并生成新字符串

可能最好的方法是切片,这是索引语法的扩展,允许您提取多个字符。因此:

>>> 'abcde'[1:4]
'bcd'
请注意,第一个索引是包含的,但第二个索引是独占的。一开始这很奇怪,但在Python中这是一个普遍存在的约定

如果省略第一个或最后一个索引,则切片将分别转到字符串的开头或结尾:

>>> 'abcde'[1:]
'bcde'
>>> 'abcde'[:4]
'abcd'
最后,您可以使用
+
运算符进行字符串连接:

>>> 'abc' + 'de'
'abcde'
将所有这些部分结合在一起,可以根据需要插入和删除子字符串:

>>> s = 'abcde'
>>> s[:2] + 'XYZ' + s[2:]  # Insert 'XYZ' before index 2
'abXYZcde'
>>> s[:2] + s[4:]          # Delete indices from 2 to before 4
'abe'
如果您想使用前面描述的
insert
delete
函数,您可以自己编写它们,但这并不难。扰流板警报--在阅读下面的代码之前,您可能想自己试一试。:)

(您可能会想出更好的参数名称——特别是,使用
str
是不可取的,因为它也是Python内置的名称——但在本例中,我特意使用了与您在问题中使用的相同的名称。)