我有一个非常奇怪的python问题。我已经问过几位同事,他们都不知道这是怎么发生的以及如何解决的。
我有一个从 API 调用中收到的字符串的浅字典,我想将其中的一些值分配给一个新的字典。
这就是第一个 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”仍然是字符串

我已经尝试将值初始化为字符串,访问元组的第一个条目并将值转换为字符串。所有这一切都没有改变任何事情。似乎该值被分配得很好,然后发生了一些奇怪的事情,将它变成了一个元组
这是我的解释器设置的屏幕截图。我正在使用 Python 3.6

我真的为这个疯狂:-/ 任何帮助将不胜感激
我正在尝试使用 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) 我正在尝试在 vscode 的 jupyter 笔记本中使用 github copilot。到目前为止,它工作得很好,但是在 jupyter 笔记本中已经采用了获得 10 个以上推荐的捷径,即“Ctrl + Enter”来执行当前单元格。对于这个(我认为很常见)问题是否有推荐的解决方案,或者我是否必须创建自定义快捷方式?
我有一个分数列表
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 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) 我正在寻找一种方法来做类似的事情
kubectl get pods -l app=foo | kubectl delete
Run Code Online (Sandbox Code Playgroud)
我认为这将是一次处理多个资源的好方法,但我找不到一种相当简单的方法来做到这一点。