从列表中获取元素

时间:2015-12-04 20:58:34

标签: python list

我想获取列表元素并删除最终字符。总体目标是将剩余的数字从str转换为int以获得等式。我想这个:

hand = ['1D', '5S', '10H']
first_card = hand [0]
first_card [:-1]
print [first_card]

......是这样做的方式,但显然不是。

提前感谢您提供的任何帮助。

弗雷泽

3 个答案:

答案 0 :(得分:6)

这可以通过列表理解为所有元素完成。

>>> hand = ['1D', '5S', '10H']
>>> hand2 = [i[:-1] for i in hand]
>>> hand2
['1', '5', '10']

您也可以在同一时间轻松将其转换为整数:

>>> handints = [int(i[:-1]) for i in hand]
>>> handints
[1, 5, 10]

答案 1 :(得分:2)

如果字符串包含朝向结尾的多个字符。

from itertools import takewhile
map(lambda x: "".join(list(takewhile(lambda x: x.isdigit(),x))), ['1D', '5S', '10H'])

或使用列表理解

[int("".join(list(takewhile(lambda x: x.isdigit(),x)))) for x in ['1D', '5S', '10H']]

答案 2 :(得分:1)

使用map来解决列表中每个元素的简单操作:

list(map(lambda x: x[:-1],hand))