有人能告诉我这句话的作用吗?

时间:2015-03-24 11:09:43

标签: python

输入:

>>> a.strip().split()
['0-0', '0-1', '0-2', '0-3', '0-4', '0-5', '0-6', '0-7', ...]

陈述是:

>>> alignment = set([tuple(map(int, x.split("-"))) for x in a.strip().split())
>>> alignment
set([(7, 3), (20, 25), (16, 9), (19, 4), (17, 20), (7, 25), ...])

1 个答案:

答案 0 :(得分:0)

a.strip().split()会生成'a-b'形式的字符串列表,其中ab由数字字符组成。

这意味着:

alignment = set([tuple(map(int, x.split("-"))) for x in a.strip().split())

从列表推导定义的列表中生成set。列表推导采用每个'a-b'字符串,在'-'字符上将其吐出两个,然后通过map ping int将每个字符串从字符串转换为整数值函数到它们上面,然后最后将结果对转换为两个整数值的元组 - 这个结果是从元组列表中产生的set - 这是你看到的结果。