小编tob*_*s_k的帖子

Python 将列表转换为树表示格式

我和我的朋友正在做一个简单的 Python 项目。实际上,我们正在以自己的方式实现前缀并行求和算法。

我们正在创建和处理一个非常奇怪的格式的二叉树。我们希望将此格式转换为 Tree 打印库/软件(如 ete2)接受的格式。

因此,树的每一层都以这种方式推送到列表中

[ [level0], [level1], ... [level i-1], [root] ]
Run Code Online (Sandbox Code Playgroud)

在我们的格式中,每个内部列表(树的级别)都有偶数个节点或叶子。

例如,假设我们有这个输入:[1, 2, 3, 4, 5]。这将产生以下输出列表:[[1, 2, 3, 4], [3, 7], [10, 5], [15]]

上述输出示例的问题在于,有时叶子不在最后一层,但它们包含在上层列表中。这使得处理列表列表和区分节点和叶子并将它们排列在正确位置变得困难。

我们想将其可视化如下:

http://i.imgur.com/BKrqNZi.png

其中括号中的数字是节点,其他数字是叶子。

为了产生这个输出树,我们想使用一个树绘图库。他们中的大多数人期望这种格式:[root, [left], [right]]

所以,在我们的例子中,我们的格式应该是这样的:

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

因为我们目前无法重写代码的整个逻辑,所以我们正在寻找一种巧妙的方法将我们奇怪的格式转换成那种格式。

欢迎任何想法。非常感谢您提前。

python binary-tree list prefix-sum

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

迭代字典列表并追加python

我有一个字典列表(a),我正在尝试遍历字典搜索特定值,如果字典有该值,则将该字典添加到新的字典集合中.到目前为止我有

newList = {}

a = [{"one": "green", "two" : "blue", "three" : "red"},
     {"two": "blue", "four" : "green", "five" : "yellow"},
     {"two": "blue", "six": "white", "seven" : "black"}]

for index in range(len(a)):
 if a[index][?] = ["blue"]:
   newList.append(a[index])
Run Code Online (Sandbox Code Playgroud)

python dictionary python-2.7

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

重新编码列表中的浮动

我有一个浮动列表,看起来像这样:

predictions_dec = [13.0, 8.6, 4.9, -1.5, 6.2, 7.7, 2.0, 10.0, 7.7, 12.7,...]
Run Code Online (Sandbox Code Playgroud)

我想清理这些数据,方法是给出高于10.0的数字10.0和低于0.0的数字(所以所有负数)为0.0.我正在使用以下if语句执行此操作:

predictions_clean = []
for pred in predictions_dec:
    if pred >= 10:
        predictions_clean.append(10.0)
    if pred <= 0:
        predictions_clean.append(0.0)
    else:
        predictions_clean.append(pred)
Run Code Online (Sandbox Code Playgroud)

这段代码似乎有效,但有趣的是:

len(predictions_dec) 
1222
len(predictions_clean)
1816
Run Code Online (Sandbox Code Playgroud)

我对if语句的理解并不是那么好.在if语句中,我做错了什么?

python floating-point if-statement

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

如何在Python中将此字符串转换为多维列表?

我有下一个string:

string = 'tuned     1372                root    6u      REG                8,3      4096  102029349 /tmp/ffiabNswC (deleted)\ngmain     1372 2614           root    6u      REG                8,3      4096  102029349 /tmp/ffiabNswC (deleted)\n'
Run Code Online (Sandbox Code Playgroud)

我需要将每个元素都string放入其中list1[0][..],但是当我看到一个新行'\n'时,我必须将下一个元素放入list1[1][..]

一个多维列表,如下所示:

list1 = [["tuned", "1372", "root", "6u", "REG", "8,3", "4096", "102029349", "/tmp/ffiabNswC", "(deleted)"], 
         ["gmain", "1372", "2614", "root", "6u", "REG", "8,3", "4096", "102029349", "/tmp/ffiabNswC", "(deleted)"]]
Run Code Online (Sandbox Code Playgroud)

我这样做split,但它把我放在同一个维度.

python string dictionary list

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

在具有障碍物的二维平原中寻找路径

我正在尝试解决我已经给出的编程任务,而且我没有任何想法如何去做.

这就是问题:

Skinny Pete受邀参加花园生日派对.他并不太喜欢派对,但听说生日蛋糕真是太棒了,他不想错过尝试它的机会.

只有一个小问题.在花园里安装了一个喷水灭火系统,通过了解他的朋友,很有可能有人将其作为派对恶作剧.皮特喜欢蛋糕,但真的不喜欢弄湿.幸运的是,他发现了一个花园的草图,其中有喷头的位置以及每个人可以洒多少水.

  • 花园看起来像一个矩形,一面开放,房子在对面.
  • 蛋糕将在房子里.
  • 另外两边有围栏,所以不能通过那里进入,房子没有后门.皮特有兴趣知道是否有可能进入花园并进入房屋而没有任何被淋湿的风险.

为简单起见,我们可以认为花园的地图是笛卡尔坐标系.

  • 花园是一个矩形,其边与轴平行,左下角在原点(0,0).

  • 花园的入口是左侧,房子位于右侧.

  • 洒水器表示为具有中心和半径的圆.走进这样一个圆圈内的任何地方可能会让你感到湿透.

  • 出于这个问题的目的,由于皮特太瘦了,我们可以把他想象成一个在太空中旅行的点,用实数作为坐标.

输入规格标准输入的第一行包含两个空格分隔的整数H和W,即花园的高度和宽度.

下一行包含喷头N的数量.之后N行跟随有三个空格分隔的整数 - Xi,Yi和Ri.这是一个喷水器的描述,作为一个圆心,中心(Xi,Yi)和半径Ri.

1≤N≤128

1≤H,W≤1024

0≤Xi≤W

0≤Yi≤H

1≤Ri≤1024

输出规格

输出包含"CAKE"(不带引号)的单行,如果可以在不弄湿的情况下到达房屋,否则输出"NO CAKE"(不带引号).

提前感谢帮助者

algorithm math

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

不会编译,主要方法缺失

嗨,大家好,并在下面的程序问题,它一直告诉我"主要方法没有在公共类CellularPhone中识别".任何帮助表示赞赏谢谢.

第1节:CellularPhone

public class CellularPhone
{

private String phoneBrand; // variable get phone brand
private String cellularCarrier; // variable see cellular carrier
private String phoneColor; // variable to get phone color

// Accesor Method
//method to return the Phone Brand

public String getphoneBrand()
{
return this.phoneBrand;
}

// method to return cellular carrier
public String getCellularCarrier()
{
return this.cellularCarrier;
}

//method to return phone color
public String getPhoneColor()
{
return this.phoneColor;
}
//********************************************************

//Mutator method

//method to change …
Run Code Online (Sandbox Code Playgroud)

java

-1
推荐指数
1
解决办法
97
查看次数

当循环被评论时,程序给出错误

我在我的java程序中发现了一个奇怪的行为,这里我的代码看起来像这样

public class JavaTest {

    private final int dataSize = (int) (Runtime.getRuntime().maxMemory() * 0.6);

    public void test() {
        {
            System.out.println(dataSize);
            byte[] data = new byte[dataSize];
        }

//      for (int i = 0; i < 10; i++) {
//          System.out.println("Please be so kind and release memory");
//      }

        System.out.println(dataSize);
        byte[] data2 = new byte[dataSize];
    }

    public static void main(String[] args) {
        JavaTest jmp = new JavaTest();
        jmp.test();
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,当我评论for循环时Exception in thread "main" java.lang.OutOfMemoryError: Java heap space,我得到的是我能理解jvm堆sapce已满. …

java out-of-memory

-1
推荐指数
1
解决办法
67
查看次数

我如何摆脱这种无限循环?

##
numOfYears = 0
## Ask user for the CPI
cpi = input("Enter the CPI for July 2015: ")
## If they didn't enter a digit, try again
while not cpi.isdigit():
    print("Bad input")
    cpi = input("Enter the CPI for July 2015: ")
## Convert their number to a float
cpi = float(cpi)
while cpi <= (cpi * 2):
    cpi *= 1.025
    numOfYears += 1
## Display how long it will take the CPI to double
print("Consumer prices will double in …
Run Code Online (Sandbox Code Playgroud)

python infinite-loop while-loop

-1
推荐指数
1
解决办法
264
查看次数