小编Ian*_*non的帖子

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

一些内置的用于在python中填充列表

我有一个大小< N的列表,我想用一个值填充大小为N.

当然,我可以使用类似下面的东西,但我觉得应该有一些我错过的东西:

>>> N = 5
>>> a = [1]
>>> map(lambda x, y: y if x is None else x, a, ['']*N)
[1, '', '', '', '']
Run Code Online (Sandbox Code Playgroud)

python list list-manipulation

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

PostgreSQL:默认约束名称

在PostgreSQL中创建表时,如果未提供,将分配默认约束名称:

CREATE TABLE example (
    a integer,
    b integer,
    UNIQUE (a, b)
);
Run Code Online (Sandbox Code Playgroud)

但是使用ALTER TABLE添加约束似乎是名称是强制性的:

ALTER TABLE example ADD CONSTRAINT my_explicit_constraint_name UNIQUE (a, b);
Run Code Online (Sandbox Code Playgroud)

这导致了我所参与的项目的一些命名不一致,并提示以下问题:

  1. 有没有一种简单的方法可以在现有表中添加一个约束,如果在表创建期间添加了该约束,它将会收到该名称?

  2. 如果没有,是否应该完全避免默认名称以防止出现不一致?

postgresql constraints naming-conventions

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

Python:如何从列表中删除空列表?

我有一个包含空列表的列表:

list1 = [[], [], [], [], [], 'text', 'text2', [], 'moreText']
Run Code Online (Sandbox Code Playgroud)

如何删除空列表以便我得到:

list2 = ['text', 'text2', 'moreText']
Run Code Online (Sandbox Code Playgroud)

我尝试了list.remove(''),但这不起作用.

python list

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

解释"C从根本上说是一个腐败型系统"

Coders at Work(p355)一书中,Guy Steele谈到了C++:

我认为向后兼容C的决定是一个致命的缺陷.这只是一系列无法​​克服的困难.C基本上有一个腐败型系统.它足以帮助你避免一些困难,但它不是密不透风的,你不能指望它

将类型系统描述为"腐败"是什么意思?

你能用C中的一个简单例子来证明吗?

编辑:

  1. 引用听起来很有争议,但我并不想成为.我只想了解他的意思.

  2. 请举例说明C而不是C++.我也对"基本"部分感兴趣:)

c c++ type-systems

23
推荐指数
3
解决办法
2903
查看次数

PHP中的JSON缩进

我想在PHP中使用缩进来回显JSON,就像echo "<pre>";缩进数组一样.

有没有我可以像这样缩进JSON的功能?

php json

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

POST/Redirect/GET(PRG)与有意义的2xx响应代码

由于POST/Redirect/GET(PRG)模式中的POST请求303 See Other成功返回redirect()状态代码,因此可以告知客户端他们要享受的特定成功风格(例如,OK,Created ,接受等)以及任何适当的标题(例如,Location对于a 201 Created,可能与重定向的标题冲突)?

例如,是否适合使重定向的GET响应POST响应所期望的正确响应代码和标题?

HTTP 1.1规范说:

该方法[303]主要用于允许输出POST激活的脚本以将用户代理重定向到所选择的资源.

但是没有提供任何有关更常见的状态代码和标头丢失的见解.

编辑 - 一个例子:

客户端发送POST请求,在/orders该请求中创建新资源/orders/1.

如果服务器发送201 Created状态location: /orders/1,自动客户端会很高兴,因为它知道资源已创建,并且它知道它在哪里,但使用Web浏览器的人会不高兴,因为他们/orders再次获取页面,如果他们刷新它们他们将发送另一个订单,这不太可能是他们想要的.

如果服务器发送一个303 See Other状态,location: /orders/1人类将被带到他们的订单,通知它的存在和状态,并且不会有意外重复它的危险.但是,自动客户端不会明确告知资源的创建,它必须根据location标头推断创建.此外,如果303重定向到其他地方(例如/users/someusername/orders),人类可能会得到很好的适应,但自动化客户端却没有明显的信息.

我的建议是,发送201 Created的响应对新资源重定向的GET请求,但我越去想它,我喜欢它的少(可能会非常棘手,以确保只有创建者接收的201,它不应该出现的GET请求创建了资源).

在这种情况下,最佳响应是什么?

http

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

方案:重新定义预定义运算符时为什么会出现这种结果?

+在使用的方案程序中重新定义运算符时,我收到了意外的结果guile.我应该指出,这是在尝试理解语言时发生的; 这里没有尝试编写有用的程序.

这是代码:

(define (f a b) 4)

(define (show)
  (display (+ 2 2)) (display ",") (display (f 2 2)) (newline))

(show)
; guile & mit-scheme: "4,4"

(define (+ a b) 5)
(define (f a b) 5)

(show)
; mit-scheme: "5,5"
; guile: "4,5" - this "4" is the unexpected result

(define (show)
  (display (+ 2 2)) (display ",") (display (f 2 2)) (newline))

(show)
; guile & mit-scheme: "5,5"
Run Code Online (Sandbox Code Playgroud)

guile函数中show使用了预定义的定义,+即使在我重新定义它之后,它也使用了新的定义 …

scheme guile operators

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

如何在unicode中表示tally/five-bar-gate?

是否有Unicode字符来表示帐簿/五杆门的风格的5捆(和部分包)?

如果没有,那么这个问题最标准/语义/可访问的解决方案是什么?

我试过但不喜欢的事情:

  • 使用数字1-5 - 容易混淆(3捆5看起来像555)
  • 1-4个带有'5'穿透的管道 - 语义上凌乱,穿透不可靠
  • Ogham字母Straif为'5' - 非连续/不与1-4的表示相关联(所有Ogham字符包含水平线)
  • 带有描述性alt标签的图片 - 仅适用于网络,仅适用于纯文本浏览器/屏幕阅读器.

参考文献:

  • 维基百科关于计数符号的页面显示了很好的亚洲和拉丁美洲系统.我的观众大部分都是欧洲人,但如果五门酒吧不可能,这种风格的方法是可以接受的.

非常感谢!

unicode accessibility numbers character-encoding semantics

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

解压缩单值元组的可读约定

有关解包单值元​​组的一些相关 问题,但我想知道在共享和维护代码的可读性方面是否存在首选方法.当他们涉及像ORM查询这样的长期功能链时,我发现这些是同事之间混淆或误读的根源.

是否有一些类似于pep8指南的约定?如果没有,这是最清晰,最易读的方法吗?

以下是我尝试过的方法,以及我对它们的看法.

两种常见但容易错过的常用方法:

value, = long().chained().expression().that().returns().tuple()

value = long().chained().expression().that().returns().tuple()[0]
Run Code Online (Sandbox Code Playgroud)

函数是显式的,但非标准的:

value = unpack_tuple(long().chained().expression().that().returns().tuple())
Run Code Online (Sandbox Code Playgroud)

也许总是评论最清楚?

# unpack single-value tuple
value, = long().chained().expression().that().returns().tuple()
Run Code Online (Sandbox Code Playgroud)

python coding-style tuples

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