gpt4 book ai didi

python - 如何删除混合列表中的字符串并将其放回原处?

转载 作者:太空宇宙 更新时间:2023-11-04 09:30:48 25 4
gpt4 key购买 nike

请不要模块。

我有一个数字列表列表和一个空字符串。

new_lst = [['', 0.0, 0.1, 0.2] , ['', '', 0.2 , 0.3], [0.1, 0.1, 0.2, 0.3]]

我用过

lst = [x for x in lst if x!= '']

删除''。

在此之后我有一堆计算,所以我需要删除 ''(除非有其他方法可以进行计算并忽略所有 str?)。经过这些计算后,我希望能够将 '' 插入到 '' 被删除的位置,而不必像这样输入索引:

new_lst[:1].insert(0, '')

我需要一个代码来找到 '' 被删除的位置并将 '' 插入到该索引中。

new_lst = []
for i in range(3):
lst = ['', 0.0, 0.1, 0.2] , ['', 0.1, 0.2, 0.3], [0.1, 0.1, 0.2, 0.3]]

lst = [x for x in lst if x!= '']

#do calculations here . for example, for x in lst, add 1.0

new_lst.append(lst)

new_lst[:1].insert(0, '')
print(new_lst)

#expected output:
new_lst = [['', 1.0, 1.1, 1.2] , ['', '', 1.2, 1.3], [1.1, 1.1, 1.2, 1.3]]

最佳答案

您可以使用列表理解:

def logic_func(x):
return x+ 1.0

single_lst = ['', 0.0, 0.1, 0.2]
new_single_lst = [logic_func(x) if x != '' else x for x in single_lst]

print(new_single_lst)

这样您就可以仅将逻辑应用于非空字符串。

关于python - 如何删除混合列表中的字符串并将其放回原处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55874907/

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