小编f_f*_*ola的帖子

从python中的嵌套字典中获取所有值

我有一些字典词典,像这样:

a['b']['c']['d']['answer'] = answer1
a['b']['c']['e']['answer'] = answer2
a['b']['c']['f']['answer'] = answer3
....
a['b']['c']['d']['conf'] = conf1
a['b']['c']['e']['conf'] = conf2
a['b']['c']['f']['conf'] = conf3
Run Code Online (Sandbox Code Playgroud)

有没有一种快速的方法来获得第三级(d,e,f)所有元素的所有答案的值列表?

具体来说,我想知道是否有任何实现通配符的机制(例如, a['b']['c']['*']['answer'].values()

更新 我发现到目前为止最快的方法是:

[x['answer'] for x in a['b']['c'].values()]
Run Code Online (Sandbox Code Playgroud)

python dictionary nested

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

如何在vert.x应用程序中使用独立的log4j实例?

我正在开发一个vert.x应用程序.具体来说,我使用的是Java + Eclipse + Maven + Vert.x. 我读到JUL是首选的日志框架,而vertx.log保存在/ tmp下(我是linux用户).实际上,我想使用log4j并在自定义日志文件夹下生成不同的日志文件.我怎样才能做到这一点?vert.x文档说(http://vertx.io/manual.html#logging):

如果您不想使用Vert.x提供的日志工具,那很好.您可以正常使用首选日志记录框架,并在模块中包含日志jar和配置.

所以我试图将log4j依赖项包含到我的pom.xml中,复制src/main/resources中的log4j.xml文件并在我的Verticle类中定义一个logger变量,但是控制台没有打印任何东西......我在哪里做错了?

谢谢Francesco

EDIT1:我的pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>it.uniroma1.dis.wsngroup</groupId>
    <artifactId>wochat</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>WoChat</name>

    <parent>
         <groupId>org.sonatype.oss</groupId>
         <artifactId>oss-parent</artifactId>
         <version>7</version>
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <!-- Set pullInDeps to true if you want any modules specified in the 'includes' and 'deploys' fields
        in your mod.json to be automatically pulled in during packaging and added inside your module. Doing this means your
        module won't download and install those dependencies at …
Run Code Online (Sandbox Code Playgroud)

java log4j maven vert.x

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

如何在 Chrome 或 Firefox 中打印特定的 HTML 元素而不是整个页面?

假设我想打印(或转换为 PDF)div复杂 HTML 页面的特定区域(例如 a )。如何在 Chrome 或 Firefox 中做到这一点?我没有从“检查元素”功能中找到特定选项。

html printing pdf firefox google-chrome

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

如何避免两个div之间重叠定位div内部相对的绝对位置?

如果页面有足够的空间来托管所有div,则以下代码有效,但如果我至少调整页面大小,则两个div定位绝对重叠.我怎么能避免这种情况?

这是我的HTML:

<div id="div-chatroom">
    <div id="div-messages">messages here</div>
    <div id="div-sending">sending tools here</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的CSS:

#div-chatroom {
    position: relative;
    height: calc(100% - 70px); /* IE9+ and future browsers */
    height: -moz-calc(100% - 70px); /* Firefox */
    height: -webkit-calc(100% - 70px); /* Chrome, Safari */
    padding: 0;
    text-align: center;
    margin: 0;
    border-right: 2px solid #333333;
    overflow: auto;
}

#div-messages {
    position: absolute;
    top: 10px;
    bottom: 110px;
    left: 10px;
    right: 10px;
    min-height: 200px;
    overflow: auto;
}

#div-sending {
    position: absolute;
    bottom: 10px;
    left: 10px; …
Run Code Online (Sandbox Code Playgroud)

html css absolute overlap

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

如何在 Python 中使用正则表达式排除特定字符串?

我想匹配以下字符串:

45 meters?
45, meters?
45?
45 ?
Run Code Online (Sandbox Code Playgroud)

但不是像这样的字符串:

45 meters you?
45 you  ?
45, and you?
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,问号都必须在末尾。所以,基本上我想排除所有包含“你”这个词的字符串。

我尝试了以下正则表达式:

'\d+.*(?!you)\?$'
Run Code Online (Sandbox Code Playgroud)

但它匹配第二种情况(可能是因为.*

python regex substring

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

为什么numpy.float16打破了OpenBlas/Atlas的功能?

好吧,我知道float16它不是一个真正的原始类型,但它是由Python/numpy模拟的.但问题是:如果存在且Python允许在使用该numpy.dot()函数的数组乘法中使用它,为什么OpenBlas(或ATLAS)不能正常工作?我的意思是,乘法有效,但并行计算没有.或者,再次,以不同的方式(在我看来更好),为什么Python/numpy允许使用,float16如果那时我们不能利用OpenBlas/ATLAS提供的高级功能?

python performance numpy atlas openblas

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

如何用sed替换这种字符串?

我有一个包含这种字符串的日志文件:

[1234(0) #1] 
[1234(1) #2] 
[1234(3) #0] 
Run Code Online (Sandbox Code Playgroud)

依此类推......(注意每个字符串中的最后一个空格)

所以,我需要用什么都不替换那些字符串.我试图执行:

$ sed -i 's/\[1234\(\d\)\s#\d\]\s//g' log.txt
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用......的确如果那时我跑:

$ grep '\[1234([0-9])\s#[0-9]\]\s' log.txt
Run Code Online (Sandbox Code Playgroud)

我仍然收到那些字符串......怎么了?

regex linux replace sed

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

ScrollView中的RelativeLayout,其按钮与其父级底部对齐

我有一个RelativeLayout"标题/正文/页脚"风格的结构.

  • 在标题部分,我有一个TextView显示当前片段的标题;

  • 所述主体包括一个ScrollView包装一元件RelativeLayout,其包含其他元素;

  • 最后,页脚只有一个Button.

具体来说,结构如下:

<RelativeLayout>
    <TextView />                <!-- the header -->

    <ScrollView>                <!-- the body -->
        <RelativeLayout>
            <!-- other elements -->
        </RelativeLayout>
    </ScollView>

    <Button />                  <!-- the footer -->

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

现在,我希望按钮始终位于main的底部RelativeLayout,因此我分配了属性android:layout_alignParentBottom="true".

此外,ScrollView必须填写所有正文,因此属性android:fillViewport="true"已设置.

问题:事实是页脚中的按钮超过了最后一部分ScrollView,从而隐藏了RelativeLayout包含主体的最终元素.有没有解决方案可以解决这个问题?

android alignment scrollview relativelayout android-layout

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

如何检测浏览器是否支持javascript中的乒乓帧?

我有一个websocket应用程序,其中服务器(使用Netty用Java编写)定期向客户端发送ping帧以检测它们的连接是否仍然存活(实际上可能发生客户端的网络连接断开而服务器无法检测它).但是如果特定的浏览器不支持乒乓功能呢?如何在javascript中检测到它?例如,对于我使用的websocket if(!window.WebSocket) {...},但乒乓球怎么样?

javascript browser ping websocket pong

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