【问题标题】:Converting string list into integer list beginning from 1将字符串列表转换为从 1 开始的整数列表
【发布时间】:2013-11-16 20:10:16
【问题描述】:

我想知道一种转换字符串列表的方法,例如: myList = ["Bob1", "Bob2", "Bob3", "Bob4"]

不知何故变成整数,使它们分别为 0、1、2、3 然后它们是 1、2、3、4,然后在我完成计算后,我需要将答案返回到 myList 中的正确字符串。

想要这样做的原因是因为我想在第 n 项中使用这些,为此我需要做一些算术运算,所以我需要能够使用数字/整数值来计算它们,然后一旦算术完成,我可以根据最终的数字/整数结果将它们作为 string 值返回。

编辑:解决了这个问题。

【问题讨论】:

  • 看不出你的问题有什么不同
  • 你可以添加澄清到the last time you asked this...
  • 这个问题似乎是题外话,因为它是关于 OP 重复他同样的问题

标签: python string integer


【解决方案1】:

也许:

>>> myList = ["Bob1", "Bob2", "Bob3", "Bob4"]
>>> range(1, len(myList) + 1)
[1, 2, 3, 4]

【讨论】:

  • 谢谢,我用过这个。我做了第 n 个学期的问题,不得不一个一个地删除每个字符串,直到我剩下一个值并返回它。我需要从 1-4 而不是 0-3 计数,进行计算然后以字符串格式返回答案。
【解决方案2】:

根据您的描述,您可能希望使用枚举并对元组中的整数进行操作:

myList = ["Bob1", "Bob2", "Bob3", "Bob4"]

li=[(i,s) for i,s in enumerate(myList,1)]

print li
# [(1, 'Bob1'), (2, 'Bob2'), (3, 'Bob3'), (4, 'Bob4')]

那么就可以对元组的int部分进行操作了:

print [t[1] for t in li if not t[0]%2]
# ['Bob2', 'Bob4']
print sum(t[0] for t in li if not t[0]%2)
# 6

然后在完成后将数字剥离:

print [s for i,s in li]
# ['Bob1', 'Bob2', 'Bob3', 'Bob4']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 2015-01-14
    • 2021-06-18
    • 2011-02-11
    相关资源
    最近更新 更多