我对 python 3.7.2 中 f-strings 的这种默认行为感到震惊:
>> number = 0.0000001
>> string = f"Number: {number}"
>> print(string)
Number: 1e-07
Run Code Online (Sandbox Code Playgroud)
我的预期是: Number: 0.0000001
这非常烦人,尤其是对于文件名的创建。如何禁用这种自动转换为科学记数法的功能?为什么首先启用它?
基本上与这个问题相反。
编辑:我想避免为浮动通过设置固定长度,{number:.8f}因为我的数字有不同的长度,我不想有任何尾随零。我想使用 f-strings 自动生成文件名,如下所示:
filename = f"number_{number:.10f}_other_number_{other_number:.10f}.json"
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个简单的修饰符,它可以禁用自动科学记数法,同时保持浮点数的原始精度。
我尝试通过对 xarray.Dataset 使用一个坐标来替换 xarray.Dataset 中具有相同长度的两个坐标。我不在乎旧坐标或其值;我只是想更换它们。有什么方便的方法吗?
import xarray as xr
ds = xr.Dataset({
"a": ("a_coord", [0, 1, 2]),
"b": ("b_coord", [50, 10, 20]),
"a_coord": [4, 8, 9],
"b_coord": [3, 1, 4],
"new_coord": [0, 1, 2],
})
# Get rid of a_coord and b_coord and replace both with new_coord, so a and b
# have new_coord as coordinate.
# But how?
Run Code Online (Sandbox Code Playgroud)
我试过了rename,但它返回一个冲突错误(因为 new_coord 已经存在)。
ds.rename({
"a_coord": "new_coord",
"b_coord": "new_coord",
})
Run Code Online (Sandbox Code Playgroud)
我是否必须将新坐标显式分配给依赖于旧坐标之一的每个数据变量?由于我有许多数据变量(不仅仅是 a 和 b)和其他坐标,这可能会变得混乱。
我创建了一个 EC2 并在其上安装了 EKS。然后我创建了集群并在其上安装了 docker 映像。现在我尝试使用给定的 yaml 将此映像部署到 docker 容器并收到错误。
Error in creating Deployment YAML on kubernetes
spec.template.spec.containers[1].image: Required value
spec.template.spec.containers[2].image: Required value
Run Code Online (Sandbox Code Playgroud)
--我可以在 ec2 docker 上看到图像。我的yaml是这样的:
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: premiumservice
labels:
app: premium-service
namespace:
annotations:
monitoring: "true"
spec:
replicas: 1
selector:
matchLabels:
app: premium-service
template:
metadata:
labels:
app: premium-service
spec:
containers:
- image: "mp3-image1:latest"
name: premiumservice
ports:
- containerPort: 80
env:
- name: type1
value: "xyz"
- name: type2
value: "abc"
Run Code Online (Sandbox Code Playgroud) 我的问题是这两个陈述:
> 2 == 2 == True
False
> (2 == 2) == True
True
Run Code Online (Sandbox Code Playgroud)
我很困惑。我希望两个表达式相同,因为 Python 会从左到右计算表达式,因此:
> 2 == 2 == True
False
> (2 == 2) == True
True
Run Code Online (Sandbox Code Playgroud)
和
# (2 == 2) == True
# | |
# ------
# |
# True == True
Run Code Online (Sandbox Code Playgroud)
即使我改变顺序(如果 Python 从右到左计算),我也会得到同样令人困惑的结果:
> True == 2 == 2
False
> True == (2 == 2)
True
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?