小编geo*_*opy的帖子

终结者屏幕默认位置

我想强制终结者在屏幕左上角打开。当我保存布局时,我的窗口位置正确。然而,每当我在计算机重新启动时打开终结者时,窗口都位于顶部附近,距左侧约 1.5 英寸。

我一直在摆弄配置文件,但无法弄清楚“位置”参数。例如,在[[[child0]]]

position = 36:32
Run Code Online (Sandbox Code Playgroud)

并在下面[[[child1]]]

position = 834
Run Code Online (Sandbox Code Playgroud)

谁能解释一下如何自定义这些参数?

系统信息:

  • Ubuntu 17.10,内核4.13.0-43
  • 屏幕尺寸:1920x1080 像素,或 508x286 毫米
  • 终结者 v 1.91

终止符/配置:

[global_config]
  always_split_with_profile = True
  suppress_multiple_term_dialog = True
  title_transmit_bg_color = "#8ae234"
[keybindings]
[layouts]
  [[default]]
    [[[child0]]]
      fullscreen = False
      last_active_term = a69b1a79-eb9d-4c15-ac27-0502efc4c4f7
      last_active_window = True
      maximised = False
      order = 0
      parent = ""
      position = 36:32
      size = 808, 1014
      title = bp@bpenner: ~
      type = Window
    [[[child1]]]
      order = 0
      parent = child0 …
Run Code Online (Sandbox Code Playgroud)

configuration layout terminator

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

使用时间戳与使用timedelta的时间添加之间的差异?

我正在研究Exercism.io gigasecond问题:

"计算一个人活了10 ^ 9秒的时刻."

我的方法是将日期时间输入转换为时间戳,添加10**9,然后转换回来.我的答案非常接近,但测试套件(由Exercism提供)失败了,因为小时arg关闭了一个.所有其他args都是正确的.

经过一番搜索,我找到了一个使用timedelta的答案; 答案的结构几乎与我的相同,但它产生了完整正确的答案.

我的问题是,为什么这两种方法的输出有差异?如下所示,只有当小时的输入arg为默认值0时,才会出现问题.

码:

def add_gigasecond(birth_date):
    gigadate = birth_date.timestamp() + 10**9
    print(datetime.fromtimestamp(gigadate).__repr__())

    gigadate = birth_date + timedelta(seconds=10**9)
    print(gigadate.__repr__())
Run Code Online (Sandbox Code Playgroud)

输入:

tests = [datetime(2011, 4, 25),
         datetime(1977, 6, 13),
         datetime(1959, 7, 19),
         datetime(2015, 1, 24, 22, 0, 0),
         datetime(2015, 1, 24, 23, 59, 59),]
Run Code Online (Sandbox Code Playgroud)

结果:

test 1
datetime.datetime(2043, 1, 1, 0, 46, 40)
datetime.datetime(2043, 1, 1, 1, 46, 40)

test 2
datetime.datetime(2009, 2, 19, 0, 46, 40)
datetime.datetime(2009, 2, 19, 1, 46, 40)

test 3
datetime.datetime(1991, …
Run Code Online (Sandbox Code Playgroud)

python datetime timedelta

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

在 python 中(一般来说)哪个更有效:迭代短列表并在较长列表中搜索,反之亦然?

我有两个列表,都包含表示为字符串的整数。large_list很大,最多可达数十个数千个元素。small_list更小,最多可达数百个元素。我正在用较小的过滤掉较大的。我很想知道哪个更有效率:

(A)

for element in small_list:
    if element in large_list:
        (do something)
Run Code Online (Sandbox Code Playgroud)

(二)

for element in large_list:
    if element in small_list:
        (do something)
Run Code Online (Sandbox Code Playgroud)

对于选项 (a),迭代计数受 的长度限制small_list,但对于每一个,都必须在完整的 上执行搜索large_list。对于选项 (b),迭代会遍历整个过程large_list,但每次搜索都会在 上执行small_list

我知道集合是散列的,所以这里最好的选择应该是采用large_set = set(large_list),迭代small_list,并在 上进行每次搜索large_set。但如果我们从方程中去掉集合,是选项(a)更有效,还是选项(b)更有效?

python performance list set

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