我如何转移
A = [0.12075357905088335, -0.192198145631724, 0.9455373400335009, -0.6811922263715244, 0.7683786941009969, 0.033112227984689206, -0.3812622359989405]
到
A = [[0.12075357905088335], [-0.192198145631724], [0.9455373400335009], [-0.6811922263715244], [0.7683786941009969], [0.033112227984689206], [-0.3812622359989405]]
我尝试了下面的代码,但发生了错误:
new = []
for i in A:
new.append.list(i)
TypeError: 'float' object is not iterable
有人可以帮助我吗?
答案 0 :(得分:7)
试试list comprehension,这样更方便:
new = [[i] for i in A]
您收到TypeError
,因为您无法将list()
函数应用于float
类型的值。 This function将iterable作为参数,float
不是可迭代的。
另一个错误是你使用的是new.append._something
而不是new.append(_something)
:append
是list
对象的method,所以你应该提供一个项目添加为参数。
答案 1 :(得分:1)
你有一个错误,试试:
new = []
for i in A:
new.append([i])
这是更美丽的解决方案:
new = [[i] for i in A]
答案 2 :(得分:1)
import re
s = ' playsound3Dwhenpossible(soundspotpoint18, %$videos_sounds_path%/sounds/lavazza_-_auguri_cherubini__15_.mp3, true, false, -52.644483, 0.947368, 90, 1, spotpoint18);'
x = re.split(r'(\()', s)
是一种需要参数的方法,例如list.append
或者,在这种情况下new.append(i)
。
列表理解是一个更好的主意,请参阅@IvanVinogradov's solution。
如果您对使用第三方库感到满意,请考虑new.append([i])
以获取矢量化解决方案:
numpy
答案 3 :(得分:1)
我认为您使用的是这样的
my_data=b['dataset']['data'][0][1]
useful_data=[i[1] for i in my_data]
因此,在编译时会出现错误:
TypeError:“ float”对象不可迭代
仅尝试:
my_data=b['dataset']['data']
然后您将获取数据。