从Python的另一个值列表中创建key,val的元组列表

时间:2015-07-19 19:00:44

标签: python

您好我在

中有以下python列表
[0,1,2,'def','ghi']

现在我想通过丢弃第一个列表项来将上面的内容转换为另一个元组列表,以便例如我想要[(1,0),(2,1),('def',2),('ghi',3)]

我有以下代码

point = [0,1,2,'def','ghi']
spliltm0 = split[1:]
ls = ()
int i = 0
for a in spliltm0:
   ls = (a,i++)

上面似乎是python的长代码有上面代码的任何较短版本我是Python的新手请指导。提前谢谢。

2 个答案:

答案 0 :(得分:3)

该代码根本不是Python,因为你做的是int ii++,它们都不是Python *;另外,strip()split()是字符串上的方法,而不是列表。

您的结果可以通过单行列表理解来实现:

result = [(elem, i) for i, elem in enumerate(point[1:])]

<子> * i++在Python中具有语法上的有效性,但根本不做您认为的操作。

答案 1 :(得分:0)

在Python论坛中提问之前,你需要清楚Python的基础知识。

1)您无法在&#39;列表中应用条带功能。对象,它应该是字符串对象。

2)spliltm0 = split[1:],这里split被视为字符串,并且未定义。 split也是一个字符串方法,不应该用作存储字符串的变量。

3)int i = 0这是C / C ++的格式。不适用于Python

4)

for a in spliltm0:
   ls = (a,i++)

i ++在Python中不可用。请参阅此链接(Why are there no ++ and --​ operators in Python?