Skip to main content
 首页 » 编程设计

python之使用分隔符python合并列表中的项目

2025年05月04日27unruledboy

我有以下列表:

[50.0, 100.0, 150.0, 5.0, 200.0, 300.0, 10.0, 400.0] 

并且我想使用 : 分隔符合并列表中的项目,以创建以下列表:

[50.0, 100.0:150.0:5, 200.0:300.0:10.0, 400.0] 

我想在 numpy.r_ 中使用新列表。我已经将我的列表从字符串转换为 float ,所以我想保留 float 并在适当的索引之间添加 : 分隔符。我遇到的问题是,如果我想要 float ,我无法转换 100.0:150.0:5 间隔值,并且使用我的浮点值,我无法在 中添加: 分隔符。谁能指出我正确的方向?

请您参考如下方法:

你不能用 : 分隔数字而不用 "" 包裹它们(即作为字符串)。但是,您可以使用 slice 执行您想要的操作:

s = [50.0, 100.0, 150.0, 5.0, 200.0, 300.0, 10.0, 400.0] 
 
it = iter(s[1:-1]) 
s[1:-1] = map(slice, *(it,)*3) 
print(s) 
# [50.0, slice(100.0, 150.0, 5.0), slice(200.0, 300.0, 10.0), 400.0] 

现在可以与 np.r_ 和 np.concatenate 一起使用,如下所示:

>>> np.concatenate([np.r_[i] for i in s]) 
array([  50.,  100.,  105.,  110.,  115.,  120.,  125.,  130.,  135., 
        140.,  145.,  200.,  210.,  220.,  230.,  240.,  250.,  260., 
        270.,  280.,  290.,  400.]) 

这会产生您想要的结果。