python - 从列表中减去值,收到“生成器对象不可下标”错误
问题描述
我试图从彼此中减去两个列表的值。像这样:
a = [1,2,3,4,5] b = [1,2,3,4,5]
a - b = [0,0,0,0,0]
但是,我尝试执行的循环不断给我“生成器对象不可下标”,并引用了我的代码的这一部分:
distances_1 = [a[z] - b[z] for z in x]
我的样本数据在每个文件的维度上都不同;不过,这是一个示例:
x = [1.2323 2.5689] y = [2.3565 3.58789]
这是我的代码示例:
def distances_z(x,y):
dct = {}
for i in y:
a = (i.split(' ',)[0] for i in y)
for z in x:
b = (z.split(' ',1)[0] for z in x)
distances_1 = [a[z] - b[z] for z in x]
return distances_1
dct[i +"_"+"list"] = [distances_1]
print(dct)
return dct
我认为这是我的a
和b
变量未被识别为整数的问题。我尝试使用 将它们转换为浮点数float()
,但它不起作用。
解决方案
尝试这个
a = [1,2,3,4,5]
b = [1,2,3,4,5]
c = [x[0] - x[1] for x in zip(a,b)]
给出输出
[0, 0, 0, 0, 0]
推荐阅读
- iframe - Jupyterhub - 画布 LMS 中的 iframe
- android - 无法将 java.lang.String 类型的对象转换为数据类
- java - React Native:来自 React Native 模块的 Java 本机退出/关闭事件
- angular - Angular:打开侧边栏时更改路线
- android - 如何使用 setResult 从 Activity 中获取 Fragment 的值?
- flask - 如何使用烧瓶上传文件夹?
- javascript - Babel 和 Typescript 编译器“目标”选项有什么区别?
- kotlin - Kotlin Flow 缺少许多琐碎的函数,如 any()、distinct()
- javascript - 使用 YAML 的 HTML 电子邮件
- python - AttributeError:模块 'apache_beam' 没有属性 'options'