更新元组列表中的值的最佳方法是什么?
我目前在下面的代码中这样做,但我想有一种更简洁的方式.
>>> foo = [('a', 'hello'), ('b', 'world')]
>>> bar = dict(foo)
>>> bar['b'] = 'friend'
>>> foo = bar.items()
>>> foo
[('a', 'hello'), ('b', 'friend')]
Run Code Online (Sandbox Code Playgroud)
编辑:使用元组列表的原因在我的原始帖子中并不清楚.目标是在错误处理期间更新wsgi应用程序的某些标头值,即元组列表.
提前致谢.
我正在制作一个简单的机架应用程序,在验证后授予对安全文件的访问权限.
由于文件中的数据是敏感的,因此它们位于应用程序的非公共文件夹中.
现在,在检查会话数据之后,我只是打开文件进行读取,并将内容作为响应的主体发送.
它感觉很丑,对于较大的文件来说必须非常耗费资源.
响应示例:
[ "200", {"Content-Type"=> MIME::Types.type_for(file).first.to_s }, File.open( file ).read() ]
Run Code Online (Sandbox Code Playgroud)
我查看了Rack :: Sendfile,但据我所知,它是一个中间件,无法从应用程序本身发送文件.
从Rack应用程序发送非公共二进制文件的最有效方法是什么?
我开始学习Erlang,并且作为练习,我尝试实现CYK算法。
主要代码(cyk.erl):
%%% An attempt for a CYK parser in Erlang
-module(cyk).
-export([
init_storage/0,
import_grammar_file/1,
add_grammar_rule/1,
analyze/1,
test_analyze/0
]).
%% Initialize the ets storage for grammar
init_storage() ->
ets:new(?MODULE, [bag, named_table]).
%%------------------------------------------
%%
%% Grammar
%%
%%------------------------------------------
%% Import a grammar file
import_grammar_file(File) ->
{ok, Device} = file:open(File, read),
import_file_rules(Device).
%% Import all the rules in the file
import_file_rules(Device) ->
case io:get_line(Device, "") of
eof ->
io:format("Grammar file imported~n"),
file:close(Device);
Line ->
add_grammar_rule(Line),
import_file_rules(Device)
end.
%% Add a …Run Code Online (Sandbox Code Playgroud) 我使用OR作为php中的逻辑OR有一些令人惊讶的结果.
考虑以下代码:
$a = false;
$b = false;
$c = true;
# Test 1, using OR and assigning to a variable
$value = $a OR $b OR $c;
var_dump( $value );
# return bool(false) but why?
# Test 2, using OR directly in var_dump
var_dump( $a OR $b OR $c );
# return bool(true) as expected
# Test 3, using || and assigning to a variable
$value = $a || $b || $c;
var_dump( $value );
# return bool(true) as …Run Code Online (Sandbox Code Playgroud) 是否可以将模板应用于调用模板的结果?
例如,下面是xml和2 xslt.
INDEX.XML:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<book>
<title>Ethics</title>
</book>
<book>
<title>Beyond Good and Evil</title>
</book>
</root>
Run Code Online (Sandbox Code Playgroud)
index2.xsl
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:template match="/" name="temp2">
<foo>
<xsl:for-each select="//book">
<bar><xsl:value-of select="."/></bar>
</xsl:for-each>
</foo>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
和index.xsl正在调用index2.xsl
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:include href="index2.xsl" />
<!-- apply a template to the <xsl:call-template name="temp2" /> result -->
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
有没有办法将模板应用于<xsl:call-template name="temp2" />index.xsl 的结果?
提前致谢.
是否可以跨多个列对值进行分组?
假设我在白天存储人与人之间的交互,并按照以下方式跟踪来自和之间的交互.
db.collection =
[
{ from : 'bob', to : 'mary', day : 1, count : 2 },
{ from : 'bob', to : 'steve', day : 2, count : 1 },
{ from : 'mary', to : 'bob', day : 1, count : 3 },
{ from : 'mary', to : 'steve', day : 3, count : 1 },
{ from : 'steve', to : 'bob', day : 2, count : 2 },
{ from : 'steve', to …Run Code Online (Sandbox Code Playgroud) 假设有一个类似的JSON:
{
"bob_id" : {
"name": "bob",
"age" : 20
},
"jack_id" : {
"name": "jack",
"age" : 25
}
}
Run Code Online (Sandbox Code Playgroud)
是否有可能解析它[Person]与Person下面定义的?
data Person = Person {
id :: Text
,name :: Text
,age :: Int
}
Run Code Online (Sandbox Code Playgroud) 我有一个函数将函数应用于文件(如果存在):
import System.Directory
import Data.Maybe
applyToFile :: (FilePath -> IO a) -> FilePath -> IO (Maybe a)
applyToFile f p = doesFileExist p >>= apply
where
apply True = f p >>= (pure . Just)
apply False = pure Nothing
Run Code Online (Sandbox Code Playgroud)
用法示例:
applyToFile readFile "/tmp/foo"
applyToFile (\p -> writeFile p "bar") "/tmp/foo"
Run Code Online (Sandbox Code Playgroud)
可以添加一个抽象级别:
import System.Directory
import Data.Maybe
applyToFileIf :: (FilePath -> IO Bool) -> (FilePath -> IO a) -> FilePath -> IO (Maybe a)
applyToFileIf f g p = f p …Run Code Online (Sandbox Code Playgroud) 我目前使用的软件中SQL对象和标签之间存在关系,如下所示:
+-----------+--------+
| object_id | tag_id |
+-----------+--------+
| 226 | 31 |
| 226 | 35 |
| 313 | 31 |
| 312 | 35 |
+-----------+--------+
Run Code Online (Sandbox Code Playgroud)
使用以下请求获取具有逻辑OR的标记ID列表的所有对象ID都可以:
select distinct object_id from tags_link where tag_id in (31, 35);
Run Code Online (Sandbox Code Playgroud)
如何获得具有逻辑AND的标记ID列表的所有对象ID?
对于上表,对标签ID 31和35的请求应仅返回object_id 226.
我正在制作一个python包,我目前的结构如下:
application/utils.py
class settings():
function foo():
bla bla bla
class debug():
function bar():
bla bla bla
Run Code Online (Sandbox Code Playgroud)
然后在其他模块中,可以按如下方式导入设置和调试类:
import application.utils.settings
import application.utils.debug
Run Code Online (Sandbox Code Playgroud)
但现在,这些类变得越来越大了,我想将它们放在分隔文件中.
application/utils/settings.py
class settings():
function foo():
bla bla bla
Run Code Online (Sandbox Code Playgroud)
application/utils/debug.py
class debug():
function bar():
bla bla bla
Run Code Online (Sandbox Code Playgroud)
在这种情况下,导入调试和设置类将如下所示:
import application.utils.settings.settings
import application.utils.debug.debug
Run Code Online (Sandbox Code Playgroud)
我觉得很不自然.这是正确的方式,还是我错过了什么?