如何在python中将两个奇数列表添加到一个列表中?

时间:2015-03-03 17:17:06

标签: python list python-2.7

我对Python很陌生,我尝试组合两个列表中的元素并从组合中生成一个字符串。

我的变数是:

fro = ['USD']
to = ['AUD', 'CAD', 'EUR']

我希望在字符串中输出如下:

pairs = "USDAUD,USDCAD,USDEUR"

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:6)

为什么不使用这样的generator expression

fro = ['USD']
to = ['AUD', 'CAD', 'EUR']
pairs = ','.join(fro[0] + x for x in to)

请注意from是保留关键字,因此不是有效的变量名。

<强> 输出:

>>>pairs
'USDAUD,USDCAD,USDEUR'

如果您对是否希望用作变量名称的某些内容是关键字(因此是非法变量名称)感到好奇,您可以随时查看以下内容:

>>> import keyword
>>> keyword.iskeyword("from") 
True

答案 1 :(得分:0)

Elizion的答案很简洁,但作为一个初学者,你可能想要在不使用像生成器这样的中间/高级结构的情况下接近它:

fro = ['USD']
to = ['AUD', 'CAD', 'EUR']

pairs = ""

for word in to:
    pairs += fro[0] + word + ","

删除尾随逗号:

pairs = pairs[:-1]

答案 2 :(得分:-1)

伊丽莎白是绝对正确的。

如果列表元素动态变化,可以使用以下行:

绝对pythonic方式!!

pair_elem = ','.join('%s%s' % (x, y) for y in to for x in fro)

传统方式就像迭代列表元素:

for multiple in to:
    for single in fro:
        pairs = ",".join(single + multiple)