小编Har*_*ekh的帖子

如何在列表理解中有条件地分割和扩展?

如何转换此输入:

values = ['v1,v2', 'v3']
Run Code Online (Sandbox Code Playgroud)

到这个输出:

['v1', 'v2', 'v3']
Run Code Online (Sandbox Code Playgroud)

尝试没有有效的列表理解:

values = ['v1,v2', 'v3']
parsed_values = []

for v in values:
    if ',' in v:
        parsed_values.extend(v.split(','))
    else:
        parsed_values.append(v)

print(parsed_values)    # ['v1', 'v2', 'v3']
Run Code Online (Sandbox Code Playgroud)

尝试列表理解不起作用:

parsed_values = [_ for _ in [v.split(',') if ',' in v else v for v in values]]
# [['v1', 'v2'], 'v3']
Run Code Online (Sandbox Code Playgroud)

python list-comprehension list python-3.x

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

使用 EXACTLY 1 流查找数组中元素对的最大差异

我正在尝试编写一个函数来查找数组(1D)中任意两个元素之间的最大差异。我已经通过多种方式解决了(我在Java中应用)

  1. 2 个嵌套循环(有效,找到差异并取最大值)
  2. 通过1 次循环迭代(有效,在返回它们的差值后找到最小值和最大值:(最大值 - 最小值))
  3. 使用流两次(有效,使用流的 min() 和 max() 函数查找最大值和最小值并返回差值)。

现在的问题是:如何编写一个函数,使用1 个流来计算数组中任意 2 个元素之间的最大差异?

这是我写的最后一篇:

public static int maxDifference(int[] arr) {
    return Arrays.stream(arr).min().orElseThrow(NoSuchElementException::new) -
           Arrays.stream(arr).max().orElseThrow(NoSuchElementException::new);
}
Run Code Online (Sandbox Code Playgroud)

java java-stream

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

什么是均匀随机数?

我正在读一本计算机科学书,其中有一个练习要求编写一个java程序来打印5个0到1之间的 均匀随机数。

我知道什么是随机数以及如何在 java 中生成随机数。

但是,制服是什么意思呢?

java random

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

如何在与java中地图键匹配的列表中添加元素

我有一个这样的清单

[A-Apple.txt,B-Ball.txt,A-Axe.txt,B-Box.txt]
Run Code Online (Sandbox Code Playgroud)

由此我想创建一个如下所示的地图:

{A=[A-Apple.txt,A-Axe.txt], B= [B-Ball.txt, B-Box.txt]
Run Code Online (Sandbox Code Playgroud)

我试过

   Map<String,List<String>> inputMap = new HashMap<>();
    inputFCSequenceFileList.forEach(value ->{
        List newList = new ArrayList();
                newList.add(value);
                inputMap.put(value.split("-")[0], newList);
            }
            );
Run Code Online (Sandbox Code Playgroud)

但没有得到预期值。我只得到最后一个元素。如果我将列表创建移到 foreach 循环之外,那么我将获得所有值。

java list hashmap java-8

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