小编Kri*_*Pal的帖子

在Python中打印Tree数据结构

我正在寻找树打印的可能实现,它以用户友好的方式打印树,而不是作为对象的实例.

我在网上遇到了这个解决方案:

来源:http://cbio.ufs.ac.za/live_docs/nbn_tut/trees.html

class node(object):
    def __init__(self, value, children = []):
        self.value = value
        self.children = children

    def __repr__(self, level=0):
        ret = "\t"*level+repr(self.value)+"\n"
        for child in self.children:
            ret += child.__repr__(level+1)
        return ret
Run Code Online (Sandbox Code Playgroud)

此代码以下列方式打印树:

'grandmother'
    'daughter'
        'granddaughter'
        'grandson'
    'son'
        'granddaughter'
        'grandson'
Run Code Online (Sandbox Code Playgroud)

是否可以获得相同的结果但不改变__repr__方法,因为我将它用于其他目的.

编辑:

解决方案无需修改__repr____str__

def other_name(self, level=0):
    print '\t' * level + repr(self.value)
    for child in self.children:
        child.other_name(level+1)
Run Code Online (Sandbox Code Playgroud)

python printing tree python-2.7

18
推荐指数
2
解决办法
4万
查看次数

从字典中提取键/值对

好的,这是一个Python问题:

我们有一本字典:

my_dict = {
           ('John', 'Cell3', 5): 0, 
           ('Mike', 'Cell2', 6): 1, 
           ('Peter', 'Cell1', 6): 0, 
           ('John', 'Cell1', 4): 5, 
           ('Mike', 'Cell2', 1): 4, 
           ('Peter', 'Cell1', 8): 9
          }
Run Code Online (Sandbox Code Playgroud)

如何制作另一个只包含名称为"Peter"的键/值对的字典?

如果你将这个字典转换为元组的元组列表,它会有所帮助吗?

tupled = my_dict.items()
Run Code Online (Sandbox Code Playgroud)

然后再把它变回字典?

你如何用列表理解来解决这个问题?

提前致谢!

python dictionary tuples list

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

如何从鱼$ PATH中永久删除路径?

已经问过这个问题,并在这里回答:https : //superuser.com/a/940041/293429

但是,提供的解决方案:执行set -e PATH[<index-of-the-path-to-be-removed]仅适用于正在运行的实例,并且在全球范围内无效。

执行echo $PATH完该命令后,如果执行了先前删除的路径,则会再次出现。

完全重置路径的一种方法是执行:set -U fish_user_paths,但是我不清楚它的作用。

真正的诀窍是找出如何删除已手动添加的路径并使之在全局范围内可用-不仅适用于当前实例吗?

linux shell fish

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

在 Python 中的列表中压缩列表

我有一份清单

big_list = [['a1','b1','c1'], ['a2','b2','c3'], ['a3','b3','c3']]
Run Code Online (Sandbox Code Playgroud)

如何压缩此列表中的列表?

我想要做的是zip(list1,list2,list3),但动态地做到这一点

我相信它有做未便与argskwargs这我不熟悉的,任何的解释是欢迎

谢谢,

python zip list python-2.7

3
推荐指数
1
解决办法
99
查看次数

Paramiko不被Python 3认可

我必须使用Python 3编写的脚本paramiko.

paramiko做的安装:

pip install paramiko
Run Code Online (Sandbox Code Playgroud)

得到了:

Requirement already satisfied (use --upgrade to upgrade): paramiko in /usr/lib/python2.7/dist-packages Requirement already satisfied (use
--upgrade to upgrade): pycrypto>=2.1,!=2.4 in /usr/lib/python2.7/dist-packages (from paramiko) Cleaning up...
Run Code Online (Sandbox Code Playgroud)

我尝试执行import paramikoPython和Python 3,它不适用于Python 3,如下所示:

蟒蛇:

Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import paramiko
>>> 
Run Code Online (Sandbox Code Playgroud)

Python 3:

Python 3.4.3 (default, Oct 14 2015, 20:28:29) 
[GCC 4.8.4] on linux
Type …
Run Code Online (Sandbox Code Playgroud)

python paramiko linux-mint python-3.x

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

列表嵌套列表的操作

我有以下列表:

list = [(1,info1),(2,info2),(3,info3)...]
Run Code Online (Sandbox Code Playgroud)

每个信息都由一个元组列表组成

info1 = [(a1,b1,c1),(a1',b1',c1'),(a1",b1",c1")...]
Run Code Online (Sandbox Code Playgroud)

对于每个元素list,我想要有以下内容:

otherlist = [(1,(a1,b1,c1)),(1,(a1',b1',c1')),(1,(a1",b1",c1"))...]
Run Code Online (Sandbox Code Playgroud)

也就是说:前面的索引info要放在每个信息元组的前面

我认为这是可行的,但我无法用简单的列表理解来实现这一点

谢谢您的帮助 :)

python list iterable-unpacking

0
推荐指数
1
解决办法
96
查看次数

在列表上执行数学运算(是否递归?)

假设我们有以下列表

lst = [3,6,1,4]
Run Code Online (Sandbox Code Playgroud)

我希望能够从此列表中获得以下结果

result = [4, 10, 11, 15]
Run Code Online (Sandbox Code Playgroud)

计算模式如下:

1 + 3 = 4

1 + 3 + 6 = 10

1 + 3 + 6 + 1 = 11

1 + 3 + 6 + 1 + 4 = 15

换句话说,结果是1加上输入数组的累加和。

如何定义一种可以解决此问题的功能?

python recursion list python-2.7

0
推荐指数
1
解决办法
92
查看次数

这个类定义的c ++等价物是什么

我正在尝试学习C++,但我的第一语言是Python.我正在努力理解C++中的构造函数,更具体地说是变量大小的数组和字符串.有人可以编写以下类定义的C++等价物,以便我可以遵循逻辑吗?

class Fruit(object):
    def __init__(self, name, color, flavor, poisonous):
        self.name = name
        self.color = color
        self.flavor = flavor
        self.poisonous = poisonous
Run Code Online (Sandbox Code Playgroud)

c++ python

0
推荐指数
1
解决办法
465
查看次数