相关疑难解决方法(0)

将列表的字符串表示转换为列表

我想知道最简单的方法是将string如下列表转换为list:

x = u'[ "A","B","C" , " D"]'
Run Code Online (Sandbox Code Playgroud)

即使用户在逗号和引号内的空格之间放置空格也是如此.我需要处理它:

x = ["A", "B", "C", "D"] 
Run Code Online (Sandbox Code Playgroud)

在Python中.

我知道我可以剥夺的空间与strip()split()使用拆分操作和检查非字母.但是代码变得非常糟糕.有一个我不知道的快速功能吗?

python string

465
推荐指数
11
解决办法
28万
查看次数

将字符串转换为元组

我需要编写一个函数,它接受一个字符串'(1,2,3,4,5),(5,4,3,2,1)'并返回每个元组的第一个和最后一个元素的元组列表,[(1,5),(5,1)].我刚在想:

def f(givenstring):
    a=givenstring.split(',')
    for i in a[0:-1]:
        tuple(int(i[0,-1]))
Run Code Online (Sandbox Code Playgroud)

但在这里我被困了..

python string tuples

25
推荐指数
3
解决办法
5万
查看次数

将元组字符串转换为字符串元组

我的意见是:

input = ['(var1, )', '(var2,var3)']
Run Code Online (Sandbox Code Playgroud)

预期产出是:

output = [('var1', ), ('var2','var3')]
Run Code Online (Sandbox Code Playgroud)

迭代输入并在元组字符串上使用eval/ literal_eval是不可能的:

>>> eval('(var1, )')
>>> NameError: name 'var1' is not defined
Run Code Online (Sandbox Code Playgroud)

如何将项目转换为'(var1, )'元组,其中内部对象被视为字符串而不是变量?

有没有比编写解析器或使用正则表达式更简单的方法?

python

7
推荐指数
2
解决办法
472
查看次数

“safe_eval”真的安全吗?

我正在寻找一个“安全”的 eval 函数来实现类似电子表格的计算(使用 numpy/scipy)。

由于明显无法修复的安全问题,执行此操作的功能(rexec 模块)自 2.3 以来已从 Python 中删除。有几个第三方黑客声称这样做 - 我发现的最深思熟虑的解决方案是 这个 Python Cookbok recipe,“safe_eval”。

如果我使用它(或类似的东西)来防止恶意代码,我是否相当安全,或者我是否坚持编写自己的解析器?有谁知道任何更好的选择?

编辑:我刚刚发现了RestrictedPython,它是 Zope 的一部分。欢迎对此提出任何意见。

python security

5
推荐指数
1
解决办法
3422
查看次数

标签 统计

python ×4

string ×2

security ×1

tuples ×1