[英]Cant append items to a list using conditionals
所以我试图将 append 项添加到基于 .isdigit() 的各种列表中作为条件以及字符串的存在...
例如:
h="hello"
if h.isdigit()==False and "hello" in h:
print(h)
你好
^这是有效的..
但是,当我尝试将其合并时-
以下内容有效:
user = "jerry"
names = ['max1','max2','jerry1','jerry2','jerry3','steph1','steph2','steph3',"susanB","susanC"]
max = []
jerry = []
steph = []
susan = []
for name in names:
if user in name:
for char in name:
if char.isdigit() and "jerry" in name:
jerry.append(name)
print(jerry)
['jerry1', 'jerry2', 'jerry3']
但不是:
user = "jerry"
names = ['max1','max2','jerry1','jerry2','jerry3','steph1','steph2','steph3',"susanB","susanC"]
max = []
jerry = []
steph = []
susan = []
for name in names:
if user in name:
for char in name:
if char.isdigit()==False and "susan" in name:
susan.append(name)
print(susan)
[]
预期的:
['susanB','susanC']
有人可以解释是什么导致了这种行为以及如何纠正它吗?
您忘记在开始时更改名称变量。 将其更改为susan并获得所需的 about。
如果字符串中同时存在jerry和susan ,则当前程序实质上是附加项目。
上面的答案已经解释了解决方案是什么,但我想提供它的具体代码实现并删除一些冗余代码片段。
user = "susan" # You forgot to change this variable.
names = [
"max1",
"max2",
"jerry1",
"jerry2",
"jerry3",
"steph1",
"steph2",
"steph3",
"susanB",
"susanC",
]
max = []
jerry = []
steph = []
susan = []
for name in names:
if user in name:
for char in name:
if char.isdigit():
break
susan.append(name)
print(susan) # Output: ['susanB', 'susanC']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.