目前我正在学习Python3,我已经有了一些C语言的经验。 我需要移动字符串以摆脱两个第一个字节。这是C中的代码:
char *a = "Hello World";
a += 2;
printf ("%s", a)
这个程序将输出“llo World”
我想知道是否有办法在Python中有效地执行此类操作,而无需复制整个字符串。
答案 0 :(得分:4)
2.x中最接近的操作是从字符串创建buffer
然后切片。创建buffer
是一项额外的操作,但只需要执行一次,因为buffer
可以重复使用。
>>> a = 'Hello world'
>>> b = buffer(a)
>>> print b[2:]
llo world
>>> print b[:5]
Hello
3.x没有buffer
,但你不应该试图用Python模拟C代码。弄清楚你实际上要做什么,然后为它编写适当的Pythonic代码。
答案 1 :(得分:3)
Python比C更高级,并且理解字符串是什么。你可以这样做:
s = "Hello World"
print(s[2:])
您可以在此处找到更多信息:https://docs.python.org/3/tutorial/introduction.html#strings。
答案 2 :(得分:2)
确实存在并且优于C
a = "Hello World"
print a[2:]
这称为切片
参考图片
答案 3 :(得分:0)
仅供参考:您不需要声明任何变量,您可以直接对字符串进行操作
"Hello world"[2:] # llo world