python在list相加 求助
高洛峰
高洛峰 2017-04-18 10:24:28
[Python讨论组]

a = [A,B,C,D,E,F]
b = [a,b,c,d,e,f]
如何变成
c = [A+a,B+a,C+a,E+a,D+a,F+a, A+a,B+b,C+b,D+b,E+b,F+b,A+c,B+c,C+c,D+c,E+c,F+c....]

求大神指导~

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(4)
阿神

首先,你得把List里面的字母元素用单引号括起来,然后你要做的是一个列表生成式,多层表达式。

>>> a = ['A','B','C','D','E','F']
>>> b = ['a','b','c','d','e','f']
>>> [x+y for y in b for x in a]
['Aa', 'Ba', 'Ca', 'Da', 'Ea', 'Fa', 'Ab', 'Bb', 'Cb', 'Db', 'Eb', 'Fb', 'Ac', 'Bc', 'Cc', 'Dc', 'Ec', 'Fc', 'Ad', 'Bd', 'Cd', 'Dd', 'Ed', 'Fd', 'Ae', 'Be', 'Ce', 'De', 'Ee', 'Fe', 'Af', 'Bf', 'Cf', 'Df', 'Ef', 'Ff']

列表生成式可以做运算,也可以做字符串的拼接
这里有文档详细介绍https://docs.python.org/2/tut...

PHP中文网
[x+y for y in b for x in a]
阿神
c = list(map(lambda i: a[i] + b[i], range(len(a)))
PHPz
from itertools import product

>>> a = ['a', 'b', 'c']
>>> b=[1, 2, 3]
>>> c = list(product(a, b))
>>> print(c)
[('a', 1), ('a', 2), ('a', 3), ('b', 1), ('b', 2), ('b', 3), ('c', 1), ('c', 2), ('c', 3)]
>>>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号