繁体   English   中英

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

[英]How do I take a string of numbers in Python 2.7.2 and make each number its own element in a list?

我有一串数字。 我想将每个数字插入到列表中,其中每个数字都是列表中自己的元素,因此我可以使用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"

我想要循环打印“ yes 99 is here”,因为是这样。 我认为代码的问题是整个字符串在列表中被列为元素0(唯一的元素)。 请帮忙!! 我知道这是基本知识,但是我无法在线找到解决方案。 我是编程新手。

您需要分析字符串以将每个数字分开,因为它是自己的元素。 幸运的是,Python对此表示支持。

>>> a_list= string.split(", ")
>>> a_list
['3', '4', '5', '99']
l = map(int, s.split(','))
if 99 in l:
    print "yes 99 is in here"

我们正在用逗号分割您的列表,然后将其映射为整数类型。 否则,您将有一个包含字符串的列表。

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

[3, 4, 5, 99]

然后,检查就像查看列表中是否有99l )一样简单。

尝试

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(', ')][float(i) for i in string.split(', ')]将它们全部转换为浮点数。 如果您知道它们将是整数,或者您希望将它们解释为整数,则可以使用int(i)

使用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"

为什么不呢?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM