如何在python中将字符串更改为Integers

Mer*_*lin 0 python list

试图从数字中删除单引号.我正在处理第三个没有很好输入的paty数据.

lst =  [ ('text','2','3','4'), ('text2','4','5','6') ]
y=  [map(int,i) for i in zip(*lst)[1:]] 

d = zip(*list)[0]
print d
c= zip(*y)
print c

dd = zip(d,c)
print dd
Run Code Online (Sandbox Code Playgroud)

这就是出路:

('text', 'text2')
[(2, 3, 4), (4, 5, 6)]
[('text', (2, 3, 4)), ('text2', (4, 5, 6))]
Run Code Online (Sandbox Code Playgroud)

如何得到:

dd =  [ ('text',2,3,4), ('text2',4,5,6) ]
Run Code Online (Sandbox Code Playgroud)

编辑:如果列表有时是这样的话[ ['text','2','3','4'], ['text2','4','5','6'] ],那我该怎么办?另一个问题是整数为'3,400'.

新的Lst示例:

  lst =  [ ('text','2','3','4'), ('text2','4','5,000','6,500') ]
Run Code Online (Sandbox Code Playgroud)

需要:

 [ ('text',2,3,4), ('text2',4,5000,6500) ]
Run Code Online (Sandbox Code Playgroud)

Joc*_*zel 8

print [(text, int(a), int(b), int(c)) for (text, a, b, c) in lst]
Run Code Online (Sandbox Code Playgroud)

  • @ user428862:如果数字中有逗号,则可以将`int(a)`类型调用更改为`int(a.replace(',',''))`.假设3,333表示您的数字为3333. (2认同)