如何在Python 2.7.2中获取一串数字并将每个数字作为列表中的自己的元素?

时间:2015-03-11 01:45:23

标签: python string list numbers

我有一串数字。我想取每个数字并将其插入一个列表,其中每个数字是列表中的自己的元素,所以我可以使用For循环来搜索该数字。在下面的代码中,我写了一个例子:

string = "3, 4, 5, 99"

a_list = []

a_list.append(string)

for i in range (0, len(a_list)):
    if int(a_list[i]) == 99:
        print "yes 99 is in here"

我想要循环打印"是99就在这里"因为它是。我认为我的代码的问题是整个字符串被列为列表中的元素0(唯一元素)。请帮忙!!我知道这是基本的,但我在网上找到解决方案时遇到了麻烦。我是编程新手。

5 个答案:

答案 0 :(得分:1)

您需要解析字符串以将每个数字分开,因为它是自己的元素。幸运的是,Python背对着你。

>>> a_list= string.split(", ")
>>> a_list
['3', '4', '5', '99']

答案 1 :(得分:0)

l = map(int, s.split(','))
if 99 in l:
    print "yes 99 is in here"

我们将您的列表拆分为逗号,然后将其映射为整数类型。否则你会有一个填充字符串的列表。

在第一行之后,您的列表如下所示:

[3, 4, 5, 99]

您的支票就像查看列表中99是否l一样简单

答案 2 :(得分:0)

尝试

string_list = [float(i) for i in string.split(', ')]

if 99 in string_list:
    print '99 is here'

字符串拆分方法会创建单个数字的列表,但它们是字符串。因此[float(i) for i in string.split(', ')]部分将它们全部转换为浮点数。如果您知道它们将是整数,或者您想要将它们解释为整数,则可以使用int(i)

答案 3 :(得分:0)

使用str.strip删除开头和结尾处的空格(如果存在)。

然后使用str.split将带有','的字符串拆分为分隔符,返回字符串列表。

将列表中的每个元素转换为int

string = "3, 4, 5, 99"

strings = string.strip().split(",")

a_list = [int(i) for i in strings]

for i in range (0, len(a_list)):
    if int(a_list[i]) == 99:
        print "yes 99 is in here"

答案 4 :(得分:0)

为什么不改为:

if string == "99" or\
   string.startswith("99,") or\
   string.endswith(", 99") or\
   ", 99," in string: print "Hooray!"