小编Max*_*Max的帖子

Python 将字符串赋值给字典后转成元组

我有一个非常奇怪的python问题。我已经问过几位同事,他们都不知道这是怎么发生的以及如何解决的。

我有一个从 API 调用中收到的字符串的浅字典,我想将其中的一些值分配给一个新的字典。

这就是第一个 dict 的样子。只是一堆字符串: 这就是第一个 dict 的样子。 只是一堆字符串

我将 dict1 中的一些值分配给 dict2 中的一些键。非常基础

    dict2={}
    dict2['access_key'] = dict1['access_key']
    dict2['secret_access_key'] = dict1['secret_access_key'],
    dict2['session_token'] =dict1['session_token'],
    dict2['region'] = dict1['region']
Run Code Online (Sandbox Code Playgroud)

然后发生这种情况。“秘密访问密钥”和“session_token”的值被转换成元组。“access_key”和“region”仍然是字符串 然后发生这种情况。 “秘密访问密钥”和“session_token”的值被转换成元组。 “access_key”和“region”仍然是字符串

我已经尝试将值初始化为字符串,访问元组的第一个条目并将值转换为字符串。所有这一切都没有改变任何事情。似乎该值被分配得很好,然后发生了一些奇怪的事情,将它变成了一个元组

这是我的解释器设置的屏幕截图。我正在使用 Python 3.6 这是我的解释器设置的屏幕截图。 我正在使用 Python 3.6

我真的为这个疯狂:-/ 任何帮助将不胜感激

python

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

使用 Terraform 使用 Key Vault 维护的 RSA 密钥创建 AKS

我正在尝试使用 Terraform 创建 AKS(Azure Kubernetes 服务),并且想为 AKS 节点的“linux_profile”设置 ssh_key。

我发现的使用 terraform 创建 AKS 的唯一相关教程是这个,它使用“~/.ssh/id_rsa.pub”中的本地文件。

resource "azurerm_kubernetes_cluster" "k8s" {
name                = var.cluster_name
location            = azurerm_resource_group.k8s.location
resource_group_name = azurerm_resource_group.k8s.name
dns_prefix          = var.dns_prefix

linux_profile {
    admin_username = "ubuntu"

    ssh_key {
        key_data = file(var.ssh_public_key)
    }
  }
# lots of other configuration
}
Run Code Online (Sandbox Code Playgroud)

我想使用由 keyvault 管理的密钥,因此我不必在本地管理任何机密。为此,我使用此代码创建了一个密钥保管库(为了清楚起见,我删除了有关“access_policies”的部分)

resource "azurerm_key_vault" "example-keyvault" {
    name                        ="example-keyvault"
    location                    =       data.azurerm_resource_group.rg.location
    resource_group_name         = data.azurerm_resource_group.rg.name

    enabled_for_disk_encryption = true
    tenant_id                   = data.azurerm_client_config.current.tenant_id
    soft_delete_enabled         = true
    purge_protection_enabled    = false
    sku_name                    = "standard" …
Run Code Online (Sandbox Code Playgroud)

azure ssh-keys terraform azure-keyvault

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

在 jupyter 笔记本中使用 vscode 获取 github copilot 建议

我正在尝试在 vscode 的 jupyter 笔记本中使用 github copilot。到目前为止,它工作得很好,但是在 jupyter 笔记本中已经采用了获得 10 个以上推荐的捷径,即“Ctrl + Enter”来执行当前单元格。对于这个(我认为很常见)问题是否有推荐的解决方案,或者我是否必须创建自定义快捷方式?

visual-studio-code github-copilot

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

找到python中分数列表的最小公分母

我有一个分数列表

from fractions import Fraction

fractions_list=[Fraction(3,14),Fraction(1,7),Fraction(9,14)]
Run Code Online (Sandbox Code Playgroud)

输出应该是一个列表,其中包含每个分数的分子,然后是所有分数的最简单形式的分母。对于上面的示例,结果 (3/14, 2/14, 9/14) 将表示如下

[3,2,9,14]
Run Code Online (Sandbox Code Playgroud)

有没有一个优雅的解决方案?我能想到的所有内容都涉及许多中间列表来存储一些变量和可怕的比例。

python math fractions

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

在 Python 中仅使用一次数字的整数分区递归很慢

我正在尝试使用 Python 2.7 中的每个数字计算可能组合的数量,以添加到单个值。

例如,对于 7,这将是 6+1、5+2、4+3、4+2+1 --> 4 种可能的组合

我设法将它伪造成一个递归函数,它可以正确地进行数学运算

import time

counter_list = []

def start(n):
    tic=time.time()
    recursive_step(range(1, n), n)
    toc=time.time()
    print(toc - tic)
    return len(counter_list)

def recursive_step(numbers, target, summe=0):

    if summe == target:
        counter_list.append(1)
    if summe >= target:
        return

    for i in xrange(len(numbers)):
        n = numbers[i]
        remaining = numbers[i+1:]
        recursive_step(remaining, target, summe + n)

if __name__ == "__main__":
    print(start(7))
Run Code Online (Sandbox Code Playgroud)

不幸的是,当数字变大时,它变得非常慢。以下是我在我的机器上测量的一些数字。

~~~ 40 ~~~
time in seconds:        0.0789999961853
possible combinations:  1112
~~~ 50 ~~~
time in seconds:        0.40299987793 …
Run Code Online (Sandbox Code Playgroud)

python algorithm recursion python-2.7

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

有没有一种便捷的方法可以将多个 kubectl 命令相互传递?

我正在寻找一种方法来做类似的事情

kubectl get pods -l app=foo | kubectl delete
Run Code Online (Sandbox Code Playgroud)

我认为这将是一次处理多个资源的好方法,但我找不到一种相当简单的方法来做到这一点。

pipe kubernetes kubectl

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