我正在寻找树打印的可能实现,它以用户友好的方式打印树,而不是作为对象的实例.
我在网上遇到了这个解决方案:
来源: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问题:
我们有一本字典:
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)
然后再把它变回字典?
你如何用列表理解来解决这个问题?
提前致谢!
已经问过这个问题,并在这里回答:https : //superuser.com/a/940041/293429
但是,提供的解决方案:执行set -e PATH[<index-of-the-path-to-be-removed]仅适用于正在运行的实例,并且在全球范围内无效。
执行echo $PATH完该命令后,如果执行了先前删除的路径,则会再次出现。
完全重置路径的一种方法是执行:set -U fish_user_paths,但是我不清楚它的作用。
真正的诀窍是找出如何删除已手动添加的路径并使之在全局范围内可用-不仅适用于当前实例吗?
我有一份清单
big_list = [['a1','b1','c1'], ['a2','b2','c3'], ['a3','b3','c3']]
Run Code Online (Sandbox Code Playgroud)
如何压缩此列表中的列表?
我想要做的是zip(list1,list2,list3),但动态地做到这一点
我相信它有做未便与args和kwargs这我不熟悉的,任何的解释是欢迎
谢谢,
我必须使用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) 我有以下列表:
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要放在每个信息元组的前面
我认为这是可行的,但我无法用简单的列表理解来实现这一点
谢谢您的帮助 :)
假设我们有以下列表
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加上输入数组的累加和。
如何定义一种可以解决此问题的功能?
我正在尝试学习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) python ×7
list ×4
python-2.7 ×3
c++ ×1
dictionary ×1
fish ×1
linux ×1
linux-mint ×1
paramiko ×1
printing ×1
python-3.x ×1
recursion ×1
shell ×1
tree ×1
tuples ×1
zip ×1