有列表a=[1,2,3,5,3,6,7,1],列表b=[0,2,4],列表c=[x,y,z],b中的元素代表对应于a中元素的位置(即0表示a中位置为0的元素),c中的元素代表a中位置为0,2,4的元素的权重。
请问大家,使用Python怎么将a中位置为0,2,4的元素进行数量扩充?
假如扩充的条件为:该元素需要扩充的数量=该元素在a中原本的数量+该元素的权重*10
麻烦大家帮忙解答一下,有点复杂,谢谢各位了!
请问如何按位置将列表中指定元素进行数量扩充?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- ShowMeAI 2022-12-22 21:35关注
望采纳
可以使用 Python 中的列表推导式,如下代码所示:
a = [1, 2, 3, 5, 3, 6, 7, 1] b = [0, 2, 4] c = [x, y, z] result = [a[i] * (a[i] + 10 * c[j]) for i in range(len(a)) for j in range(len(b)) if i == b[j]] print(result)
它等同于下列循环实现
a = [1, 2, 3, 5, 3, 6, 7, 1] b = [0, 2, 4] c = [x, y, z] result = [] for i in range(len(a)): for j in range(len(b)): if i == b[j]: result.append(a[i] * (a[i] + 10 * c[j])) print(result)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 Keil uVision5创建project没反应
- ¥15 mmseqs内存报错
- ¥15 vika文档如何与obsidian同步
- ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
- ¥15 陆空双模式无人机飞控设置
- ¥15 sentaurus lithography
- ¥100 求抖音ck号 或者提ck教程
- ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)
- ¥20 web页面如何打开Outlook 365的全球离线通讯簿功能
- ¥15 io.jsonwebtoken.security.Keys