gpt4 book ai didi

python - 更优雅地改变数组数组

转载 作者:行者123 更新时间:2023-11-28 22:41:41 25 4
gpt4 key购买 nike

这可行,但看起来很难看。

    # convert timestamps to psql timestamp format
for block in ts_wrap_array:
for date in block:
ts_wrap_array[ts_wrap_array.index(block)][block.index(date)] = str(date).replace('.0', '000')

我可以应用什么来使它变得更好?

最佳答案

您可以使用 enumerate()获取索引,而不是使用 .index() -

for block in ts_wrap_array:
for j, date in enumerate(block):
block[j] = str(date).replace('.0', '000')

列表综合替代方案 -

ts_wrap_array[:] = [[str(date).replace('.0', '000') for date in block] for block in ts_wrap_array]

请注意,这不会影响直接指向内部列表的任何其他变量(使用 for 循环方法时会受到影响),示例 -

>>> l = [[1,2,3,4],[3,4,5,6]]
>>> k = l[0]
>>> l[:] = [[x + 1 for x in y] for y in l]
>>> l
[[2, 3, 4, 5], [4, 5, 6, 7]]
>>> k
[1, 2, 3, 4]

因此,如果上述情况对您来说是真实的,您应该使用答案顶部给出的 for 循环方法。

关于python - 更优雅地改变数组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32345157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com