我有一串数字。我想取每个数字并将其插入一个列表,其中每个数字是列表中的自己的元素,所以我可以使用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(唯一元素)。请帮忙!!我知道这是基本的,但我在网上找到解决方案时遇到了麻烦。我是编程新手。
答案 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!"