【问题标题】:in Python, how do you slice with a string?在 Python 中,如何用字符串切片?
【发布时间】:2020-04-03 18:20:51
【问题描述】:
mystring = '[:3]'
x = mystring.split()
z = str(x).lstrip("['").rstrip("]'")
print(z)
print('hello'+int(z))

错误: ValueError: int() 以 10 为底的无效文字:':3'

如何通过使用 'mystring' 变量切片来生成输出 'hel'?

【问题讨论】:

  • 你到底想完成什么?
  • 用 'mystring' 将单词 'hello' 切片,这样输出将是 'hel'
  • 不要使用字符串。使用slice 对象。或者只是切片符号。否则,您将不得不解析字符串,以了解如何提取您将传递给切片对象的项目或使用切片表示法。
  • 不幸的是这是用户输入
  • 好的,接下来解析字符串。这个用户输入的来源是什么?为什么会这样:[:3]??

标签: python python-3.x string slice


【解决方案1】:

您可以使用exec 函数。 exec() 方法执行动态创建的程序,可以是字符串,也可以是代码对象。

>>> mystring = '[:3]'
>>> exec('print("hello"{})'.format(mystring))
hel

如果你想从用户那里获取 Python 代码

>>> program = input('Enter a program:')
Enter a program:print("hello"[:3])
>>> exec(program)
hel

使用 exec() 时要小心 使用前请仔细阅读文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-21
    • 2012-02-15
    • 1970-01-01
    • 2021-05-01
    • 2015-10-05
    • 2021-03-12
    • 1970-01-01
    相关资源
    最近更新 更多