小编Har*_*ekh的帖子

如何使用另一个列表中的对象的属性创建新列表

想象一下,我有一些特定对象的列表:

List<Student>
Run Code Online (Sandbox Code Playgroud)

我需要生成包含另一个列表idsStudents在上面的列表:

List<Integer>
Run Code Online (Sandbox Code Playgroud)

避免使用循环,是否可以通过使用apache集合番石榴来实现这一点?

哪种方法对我的情况有用?

java collections list guava java-stream

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

Flask 在静态文件上返回 404,无论静态文件夹的路径如何

我正在尝试使用 Flask 访问一个 csv 文件和两个 json 文件,这些文件保存在名为 static 的文件夹中。即使我在代码中提到了静态文件夹,我的 map.js 文件运行时仍然遇到以下 404 问题。

"GET / HTTP/1.1" 200 
"GET /%7B%7B%20url_for('static',%20filename%20=%20'topo_E08000025.json')%20%7D%7D HTTP/1.1" 404 
"GET /%7B%7B%20url_for('static',%20filename%20=%20'/static/sampleproperty3.csv')%20%7D%7D HTTP/1.1" 404
"GET /%7B%7B%20url_for('static',%20filename%20=%20'/static/sampleproperty3.csv')%20%7D%7D HTTP/1.1" 404 
Run Code Online (Sandbox Code Playgroud)

我到处都看过,但似乎无法弄清楚出了什么问题。

我希望代码能够获取静态文件夹中的数据,而不是返回 404 错误。

蟒蛇代码:

from flask import Flask,render_template, url_for


app = Flask(__name__)

@app.route('/')
def index():
    return render_template('map.html')

if __name__== '__main__':
    app.run(debug=True)


Run Code Online (Sandbox Code Playgroud)

地图html代码:

<!doctype html>
<html>
    <head>
        <script src="https://d3js.org/d3.v5.min.js"></script>
        <script src="https://momentjs.com/downloads/moment.min.js"></script>
        <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
        <script src="https://rawgit.com/nstrayer/slid3r/master/dist/slid3r.js"></script>
        <script src = "https://unpkg.com/topojson@3.0.2/dist/topojson.js"></script>
        <script src = "https://d3js.org/colorbrewer.v1.min.js"></script>
        <script src = "{{ url_for('static', filename = 'mapFunctions.js') …
Run Code Online (Sandbox Code Playgroud)

javascript python flask

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

意外的 Python 字典行为

我有这段代码:

import time

d = dict()
for i in range(200000):
    d[i] = "DUMMY"

start_time = time.time()

for i in range(200000):
    for key in d:
        if len(d) > 1 or -1 not in d:
            break
    del d[i]

print("--- {} seconds ---".format(time.time() - start_time))
Run Code Online (Sandbox Code Playgroud)

为什么这需要大约 15 秒才能运行?

但是,如果我注释掉del d[i]或内部循环,它会在 ~0.1 秒内运行。

python performance dictionary

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

如果key存在且value不为null则放入map中,否则抛出异常

void addToMapIfKeyExists(String k, String v) {
    if (!map.containsKey(k)) {
        throw new NoSuchElementException(k + " does not exist in the map");
    }

    // else ignore
    if (v != null) {
        map.put(k, v);
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以在 Java 8 中以更好的方式编写这个吗?我可以通过某种方式将其合并为一个表达式吗?

java hashmap java-8

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

从 JSONObject 中删除除一个之外的所有键

我有一个像这样的 JSONObject (org.json):

{
    "a": "a",
    "b": "a",
    "c": "a",
    "d": "a",
    "e": "a",
    "f": "a",
    "g": "a",
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想删除除 之外的所有键a。除了我天真的方法之外,还有其他优雅的方法吗?

Iterator<String> keys = jsonObject.keys();
while (keys.hasNext()) {
    if (!keys.next().equals("a")) {
        keys.remove();
    }
}
Run Code Online (Sandbox Code Playgroud)

预期输出:

{"a": "a"}
Run Code Online (Sandbox Code Playgroud)

java json java-8

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

如何更新python中for循环中的值?

假设我有一个具有以下值的变量列表

a, b, c = 1, 2, 3

Run Code Online (Sandbox Code Playgroud)

如何更新a,b,cfor 循环中的值?

我已经尝试了以下但它不起作用。

for v in (a, b, c):
    v = v + 1
Run Code Online (Sandbox Code Playgroud)

a,b,c处理后的值保持不变

print(a, b, c)
# [1] 1 2 3
Run Code Online (Sandbox Code Playgroud)

python

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

Python Tkinter:响应式网格

我有一个带有多个子元素的框架,它们使用grid()几何管理器放置在其中。

如何修改下面的代码以使框架响应?

content.grid(column=0, row=0, sticky='nwse')
userButt.grid(column=2, row=1, sticky='nwse')
favoButt.grid(column=3, row=1, sticky='nwse')
locaButt.grid(column=4, row=1, sticky='nwse')
histScal.grid(column=5, row=1, sticky='nwse')
Run Code Online (Sandbox Code Playgroud)

python grid tkinter python-2.7 responsive

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

有没有办法用 Java 中已经包含的值来初始化 SortedMap&lt;Integer, String&gt; ?

我想做这样的事情

SortedMap<Integer, String> stuff = new TreeMap<Integer, String>({1:"a",2:"b"});
Run Code Online (Sandbox Code Playgroud)

很像您在 python 中所做的那样,但在 Java 中是可能的,还是调用 .put() 两次的唯一方法?

java initialization sortedmap data-structures java-8

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

如何计算字符串中元音的总数

嗨,有没有更好的方法来编写此代码而不是编写重复的多个 if 语句?我试图找到一种更好的方式来编写这段代码。基本上我想计算给定字符串 s 中匹配字母的总数。

s = 'abcdbobbobbegkhl'
count = 0
for letter in s:
    if letter == 'a':
        count += 1
    if letter == 'e':
        count += 1
    if letter == 'i':
        count += 1
    if letter == 'o':
        count += 1
    if letter == 'u':
        count += 1
print('Number of vowels: ' + str(count))
Run Code Online (Sandbox Code Playgroud)

python

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

简洁地填写字典

我有这种格式的文件:

1,abc
1,def
2,abc
3,abc
3,def
Run Code Online (Sandbox Code Playgroud)

我正在将此文件加载到这样的字典中:

d = dict()
datareader = csv.reader(open(filename, "r"))

for row in datareader:
    if row[0] in d:
        d.get(row[0]).add(row[1])
    else:
        d[row[0]] = {row[1]}
Run Code Online (Sandbox Code Playgroud)

它加载成功,输出是(我想要的):

{'1': {'abc', 'def'}, '2': {'abc'}, '3': {'abc', 'def'}}
Run Code Online (Sandbox Code Playgroud)

是否可以将if / else条件写在一行中?如果是这样,怎么办?

关于如何使这段代码简洁的任何其他想法?

python

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