0
A
回答
1
根据你目前如何储存该列表:
def to_int(s):
s = ''.join(ch for ch in s if ch.isdigit())
return int(s)
lst = [('(10', '40)'), ('(40', '30)'), ('(20', '20)')]
lst = [(to_int(a), to_int(b)) for a,b in lst] # => [(10, 40), (40, 30), (20, 20)]
或
import ast
s = "[('(10', '40)'), ('(40', '30)'), ('(20', '20)')]"
s = s.replace("'(", "'").replace(")'", "'")
lst = ast.literal_eval(s) # => [('10', '40'), ('40', '30'), ('20', '20')]
lst = [(int(a), int(b)) for a,b in lst] # => [(10, 40), (40, 30), (20, 20)]
0
>>> L = [('(10', '40)'), ('(40', '30)'), ('(20', '20)')]
>>> [tuple((subl[0].lstrip("("), subl[1].rstrip(")"))) for subl in L]
[('10', '40'), ('40', '30'), ('20', '20')]
或者,如果你婉的数字在你的元组最终是int
S:
>>> [tuple((int(subl[0].lstrip("(")), int(subl[1].rstrip(")")))) for subl in L]
[(10, 40), (40, 30), (20, 20)]
0
您可以致电.strip('()')
个别项目(如果他们是字符串,如在您的示例中)去除尾随(
和)
。
有以应用在单要素多种方式:
列表理解(最Python的)
a = [tuple(x.strip('()') for x in y) for y in a]
map
和lambda
(有趣的)
的Python 3 :
def cleanup(a: "list<tuple<str>>") -> "list<tuple<int>>":
return list(map(lambda y: tuple(map(lambda x: x.strip('()'), y)), a))
a = cleanup(a)
的Python 2:
def cleanup(a):
return map(lambda y: tuple(map(lambda x: x.strip('()'), y)), a)
a = cleanup(a)
0
过程中的原始字符串来代替。我们称之为a
。
在a='((10 40), (40 30), (20 20), (30 10))'
,您可以拨打
[tuple(x[1:-1].split(' ')) for x in a[1:-1].split(', ')]
从字符串的[1:-1]
装饰斗拱,split
而分裂成字符串字符串列表。 for
是一种理解。
0
s = "((10 40), (40 30), (20 20), (30 10))"
print [[int(x) for x in inner.strip('()').split()] for inner in s.split(',')]
# or if you actually need tuples:
tuple([tuple([int(x) for x in inner.strip('()').split()]) for inner in s.split(',')])
2
直截了当,使用列表理解和literal_eval。
>>> from ast import literal_eval
>>> tuple_list = [('(10', '40)'), ('(40', '30)'), ('(20', '20)')]
>>> [literal_eval(','.join(i)) for i in tuple_list]
[(10, 40), (40, 30), (20, 20)]
相关问题
- 1. 从元组列表中删除元组
- 2. 如何从JavaScript中的字符串列表中删除元音
- 3. 如何从列表中删除字符
- 4. 从Python中的元组列表中的字符串中删除字符
- 5. 如何从字典中的列表中删除列表元素?
- 6. 从元组列表中删除元素
- 7. 如何从列表中删除一个字符串的元素
- 8. Python如何从列表中的字符串中删除字符
- 9. 如何从字符向量列表中删除元素?
- 10. 从元组中删除逗号列表
- 11. 如何从数组中删除字符
- 12. 如何从列表中删除元素
- 13. 结合元组和列表的列表,从列表中删除元组元素
- 14. 如何有条件地从元组列表中删除元素?
- 15. 如何从字符串列表中删除连字符
- 16. 如何从字符串列表中删除单词列表?
- 17. 如何从字符串列表中删除单词列表
- 18. 从字典值列表中删除的元组,如果在元组= 1
- 19. 如何从Python中的字符串列表中删除numpy nan?
- 20. 如何从numpy数组列表中删除重复的元素?
- 21. 如何从我的元组列表中删除项目?
- 22. 如何从我的数组列表中删除元素?
- 23. 如何删除列表中元素的最后2个字符?
- 24. 从列表中删除字符
- 25. 从列表中删除某些字符
- 26. 从列表中删除字符
- 27. 从列表中删除特殊字符
- 28. 从列表中删除单个字符
- 29. 从列表中删除字符串
- 30. python从列表项中删除字符
你能否提供更多代码来证明你是如何达到这一点的?这个问题可能与您的数据生成方式有关,并且可能会以不同的方式处理,以避免必须解决此“问题”。 –
我尝试格式化字符串:((10 40),(40 30),(20 20),(30 10))到元组列表。 – user7172
@flup你是对的,我删除我的评论。 –