相关疑难解决方法(0)

从文件中读取列表列表作为python中的列表列表

我以列表列表的形式收集数据,并将数据写入文本文件.文本文件中的数据看起来像

[[123231,2345,888754],[223467,85645]]
Run Code Online (Sandbox Code Playgroud)

我想把它读回来并存储在我的程序列表中.但是当我read()从文件中创建并尝试创建一个平面列表时,它将所有内容都作为一个字符串,并且解释完全改变,并且我无法查询我在阅读作为python中的正常列表列表后获得的结果.

有人可以帮我阅读文件并以与列表列表相同的格式存储吗?

谢谢!

python file list

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

按符号访问操作员功能

我需要一个函数,它将python的运算符符号或关键字之一作为字符串,连同其操作数,对其进行求值,并返回结果.像这样:

>>> string_op('<=', 3, 3)
True
>>> string_op('|', 3, 5)
7
>>> string_op('and', 3, 5)
True
>>> string_op('+', 5, 7)
12
>>> string_op('-', -4)
4
Run Code Online (Sandbox Code Playgroud)

不能认为该字符串是安全的.我只对映射二元运算符感到满意,但如果能得到所有这些运算符,我会非常高兴.

我当前的实现手动将符号映射到运算符模块中的函数:

import operator

def string_op(op, *args, **kwargs):
    """http://docs.python.org/2/library/operator.html"""
    symbol_name_map = {
        '<': 'lt',
        '<=': 'le',
        '==': 'eq',
        '!=': 'ne',
        '>=': 'ge',
        '>': 'gt',
        'not': 'not_',
        'is': 'is_',
        'is not': 'is_not',
        '+': 'add', # conflict with concat
        '&': 'and_', # (bitwise)
        '/': 'div',
        '//': 'floordiv',
        '~': 'invert',
        '%': 'mod',
        '*': …
Run Code Online (Sandbox Code Playgroud)

python functional-programming idioms

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

jinja2:将字符串转换为 dict 对象?

我有一个 json 字符串存储在数据库中,当它被拉出并显示在模板上时,它是一个字符串。我想将其转换为字典对象,以便我可以直接访问内容。

字符串 = "{'a':1, 'b':3}"

{{ obj }} ---> 字符串 "{'a':1, 'b':3}"

{{ obj.b }} ---> 我想像对象一样访问它。

python jinja2 flask

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

在python中从两个字符串创建变量名

我想从Python中的两个字符串创建一个变量名,例如:

 a = "column_number"
 b = "_url1"
Run Code Online (Sandbox Code Playgroud)

然后能够获得"column_number_url1"我可以使用的变量名称.

我很欣赏这一般不是一个好主意 - 有很多帖子说明为什么这是一个坏主意(例如我如何创建可变数量的变量?,创建多个变量) - 我主要希望能够做到因为这些都是在代码中的其他地方定义的变量,并且想要一种能够重新访问它们的简单方法(即,而不是创建数以千计的唯一变量,我同意字典等会更好) .

据我所知,我发现的其他帖子中的答案都是替代方法,而不是如何从两个字符串创建变量名称.

python python-2.7

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

如何在不使用列表的情况下转换字符串中的数字?

我的教授希望我创建一个函数,该函数返回字符串中的数字总和但不使用任何列表或列表方法.

操作时该功能应如下所示:

>>> sum_numbers('34 3 542 11')
    590
Run Code Online (Sandbox Code Playgroud)

通常,使用列表和列表方法时,很容易创建这样的函数.但试图在不使用它们的情况下这样做是一场噩梦.

我尝试了以下代码,但它们不起作用:

 >>> def sum_numbers(s):
    for i in range(len(s)):
        int(i)
        total = s[i] + s[i]
        return total


>>> sum_numbers('1 2 3')
'11'
Run Code Online (Sandbox Code Playgroud)

不是将1,2和3全部转换为整数并加在一起,而是将字符串设为'11'.换句话说,字符串中的数字仍未转换为整数.

我也试过使用一个map()函数,但我得到了相同的结果:

>>> def sum_numbers(s):
    for i in range(len(s)):
        map(int, s[i])
        total = s[i] + s[i]
        return total


>>> sum_numbers('1 2 3')
'11'
Run Code Online (Sandbox Code Playgroud)

python string for-loop python-3.x

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

如何在给定虚线路径的对象上设置属性?

给定一个对象可以是类似dict或类似数组的对象的嵌套结构.在给定虚线路径作为字符串的情况下,在该对象上设置值的pythonic方法是什么?

例:

obj = [
    {'a': [1, 2]},
    {'b': {
        'c': [3, 4],
    }},
]

path = '1.b.c.0'

# operation that sets a value at the given path, e.g.
obj[path] = 5

# or
set_value(obj, path, 5)
Run Code Online (Sandbox Code Playgroud)

上面的调用/赋值应该3用a 替换示例中的5.

注意:路径可以包含列表索引和键.对象的每个级别可以是一个array或一个dict或类似的行为.

解决方案应该与npm包object-path在javascript中的工作方式大致相同.

python

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

将列表转换为字典,其中每个键都嵌套在下一个键下

我想转换这个列表:

[1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)

进入这个字典:

{ 1 :
  { 2 :
    { 3 :
      { 4 : 5 }}}}
Run Code Online (Sandbox Code Playgroud)

这听起来并不太复杂,但是当需要为比表面更深的键分配值时,我感到很困惑。我有一个递归函数来查找我的字典有多深,但我不知道如何告诉我的算法“在此处添加新键”。

python python-3.x

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

有没有办法将包含算术运算的列表转换为实际列表?

我想转换一个字符串,例如:

s = "[2-1,2,3]"
Run Code Online (Sandbox Code Playgroud)

放入列表中,例如:

a = [1,2,3]
Run Code Online (Sandbox Code Playgroud)

我尝试过json

s = "[2-1,2,3]"
a = json.loads(s)
Run Code Online (Sandbox Code Playgroud)

但它无法处理2-1。有没有一种简单的方法可以将字符串转换为任何类型的数据类型?

python string list

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

Python-将字符串化列表转换回列表

我有一个清单:

a = ['one', 'two']
a = str(a)
Run Code Online (Sandbox Code Playgroud)

之后,将是

“['一二']”

有没有办法从这种字符串格式返回到原始格式的列表?

谢谢

python string list stringify

4
推荐指数
1
解决办法
2047
查看次数

在字典中访问熊猫面具

我有一本字典,其中包含多个熊猫掩码作为特定数据帧的字符串,但我找不到使用这些掩码的方法。

这是一个简短的可重现示例:

df = pd.DataFrame({'age' : [10, 24, 35, 67], 'strength' : [0 , 3, 9, 4]})

masks = {'old_strong' : "(df['age'] >18) & (df['strength'] >5)",
        'young_weak' : "(df['age'] <18) & (df['strength'] <5)"}
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

df[masks['young_weak']]
Run Code Online (Sandbox Code Playgroud)

但由于掩码是一个字符串,我收到错误

KeyError: "(df['age'] <18) & (df['strength] <5)"
Run Code Online (Sandbox Code Playgroud)

python pandas

4
推荐指数
1
解决办法
955
查看次数