python - 我想根据另一个列表的条件添加第二个列表的值
问题描述
我有两个清单:
a = [[1, 0.5], [1, 0.5], [2, 1.0], [3, 1.0]]
b = [-0.5, -0.5, 0.0, 0.0]
现在,对于 中的每个列表a[i]
,a
我需要比较列表的第 0 个索引中的值,a[i]
并将其与位于 中的列表的第 0 个索引进行比较a[i+1]
。如果它们相同,那么我需要在列表中添加相应的值,b
即b[i]
and b[i+1]
。
例如,在上面的列表中,我有a[0] = [1, 0.5]
和a[1] = [1, 0.5]
。我们看到这两个列表中的第一个元素是1
。因为它们是相同的,所以在列表中b
,我想将位于b[0]
和的元素添加b[1]
在一起,即-0.5
和-0.5
。
但是,a[2] = [2, 1.0]
和a[3] = [3, 1.0]
。并且,因为这两个列表的第 0 位不匹配,所以不需要对 list 进行任何操作b
,即我没有将元素添加到b[2]
一起b[3]
。
我该如何解决这个问题?
解决方案
a = [[1, 0.5], [1, 0.5], [2, 1.0], [3, 1.0]]
b = [-0.5, -0.5, 0.0, 0.0]
# through second to last element
for i in range(len(a) - 1):
if a[i][0] == a[i+1][0]:
print('for i=={}: {}'.format(i, b[i] + b[i+1]))
else: # for complete output verification
print('index "{}" missed'.format(i))
推荐阅读
- calculated-columns - how can i average value to each staff
- spring - Microsoft Graph API 不支持用于发送电子邮件(POST 请求)的 MIME(多用途 Internet 邮件扩展)标准
- javascript - Error 404 while targeting url in React.js
- c++ - What is wrong with this string copy using pointers code?
- android - 如何将数据从 Android 活动发送到 reactNative Android 桥接模块
- c++ - 我试图在问题中使用地图,但似乎是错误的,我找不到问题。你可以帮帮我吗?
- sql - 查询时 MS Access“溢出”
- angular - 在 Angular 6+ 中创建动态 ngModel
- sql - 从表中查找最大值和最小值及其相应的插入时间
- swift - Firebase addSnapshotListener 没有获取文档,但 getDocuments() 是