【问题标题】:Converting one string to a int in a list将一个字符串转换为列表中的 int
【发布时间】:2014-06-05 20:24:36
【问题描述】:

我想将 str 转换为列表中的 int。示例:

x = ['1', '24', 'M', 'technician', '85711']

我只想将第一个元素 x[0] 切换为 int:

x = [1, '24', 'M', 'technician', '85711']

【问题讨论】:

  • x[0] = int(x[0])?

标签: python list type-conversion


【解决方案1】:

只需分配给列表的索引:

>>> x = ['1', '24', 'M', 'technician', '85711']
>>> x[0] = int(x[0])
>>> x
[1, '24', 'M', 'technician', '85711']
>>>

此解决方案也使列表对象保持不变:

>>> x = ['1', '24', 'M', 'technician', '85711']
>>> id(x)
35174000
>>> x[0] = int(x[0])
>>> id(x)
35174000
>>>

【讨论】:

  • 我想我应该把它作为答案而不是评论发布
  • @Cyber​​neticTwerkGuruOrc 如果我曾经在 StackOverflow 上写过关于回答问题的文章,那将是我自传的标题。
  • @Cyber​​neticTwerkGuruOrc - 实际上直到我发布之后我才看到你的评论。但是,是的,您的想法是正确的解决方案。对您的评论 +1。 :)
  • 我在你发布之前几秒钟发布了它。 |=^/ Brb 要哭几个小时了
  • @Cyber​​neticTwerkGuruOrc 别担心。最受好评的答案通常是一种常见问题解答,人们将答案作为评论发布(这些问题也得到了好评)。
【解决方案2】:

如果您只想将混合列表中的所有数字转换为 int,请尝试:

a = ['1', '24', 'M', 'technician', '85711']
b = map(lambda x: int(x) if str(x).isdigit() else x,a)
print b

输出:

[1, 24, 'M', 'technician', 85711]

【讨论】:

  • OP 说他只想将第一个数字 (x[0]) 转换为整数。您的解决方案将转换每个数字。
  • @iCodez 你是对的,我只是想帮助他可以将混合列表中的所有数字转换为 int。
猜你喜欢
  • 2017-07-24
  • 2016-04-14
  • 1970-01-01
  • 1970-01-01
  • 2021-12-18
  • 2018-08-04
  • 2014-05-23
  • 1970-01-01
相关资源
最近更新 更多