我试图仅在i > 5
时将数字附加到列表中,而当数字不大于5时将空字符串附加到列表中。
我的问题是尝试附加等于单个空字符串的次数,并根据第一个for循环for i in range(0,10)
这是我尝试过的:
my_list = []
for i in range(0,10):
for j in range (0,5):
if i > 5:
my_list.append(i)
else:
my_list.append('')
但是我在两个for循环中都得到了空字符串循环,我对如何继续感到困惑。
输出应为包含10个元素的列表,例如:
output = ['', '', '', '', '', '', 6, 7, 8, 9]
上面的第二个示例可能具有过于简化的内容:
file_names_short = ['apple pie', 'apple cake', 'carrot apple', 'carrot cake']
threshold = 0.70
result_list = []
for x in file_names_short:
for y in company_list:
if similar(x, y) > threshold:
result = x
result_list.append(result)
else:
result_list.append('')
其中解释了为什么必须进行第二个循环。
答案 0 :(得分:2)
不确定外部循环为您完成工作时,为什么还要有一个额外的内部for循环
my_list = []
for i in range(0,10):
if i > 5:
my_list.append(i)
else:
my_list.append('')
print(my_list)
输出为
['', '', '', '', '', '', 6, 7, 8, 9]
当您有额外的内部循环时,my_list.append
的每个操作i
都进行了5次,因此您看到总共35个空格,每个数字5个!哪个是
['', '', '', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', 6, 6, 6, 6, 6, 7,
7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
答案 1 :(得分:2)
您似乎想获得“对于每个不符合条件的''
,结果应该有file_name
,如果符合条件,则file_name
应该具有”:
Source = ['apple pie', 'apple cake', 'carrot apple', 'carrot cake']
# | | | |
# bad Good Bad Good
# | | | |
Result = [ '' , 'apple cacke', '' , 'carrot cake']
这就是你想要的吗?
my_list = []
for i in range(0,10):
for j in range (0,5):
if i > 5:
my_list.append(i)
break
else: # else of the `for`!!! not of the `if`
# Condition did not match, so cycle was not broken - append ''
my_list.append('')
threshold = 0.70
result_list = []
for x in file_names_short:
for y in company_list:
if similar(x, y) > threshold:
result_list.append(x)
break
else:
result_list.append('')
答案 2 :(得分:0)
如果我正确理解,则要循环,对于0到9(含0和9)之间的数字,对于1,2,3,4,5则要插入空白字符串,对于6、7、8和9 ,您想插入这些数字。
这不需要双重循环,我不确定您从何处获得内循环/二次循环的想法,但是完全不需要,这是您获得超出要求的确切原因的确切原因。
my_list = []
for i in range(0,10):
if i > 5:
my_list.append(i)
else:
my_list.append('')
print(my_list)
输出:
['', '', '', '', '', '', 6, 7, 8, 9]
答案 3 :(得分:0)
请执行以下操作:
my_list = [i if i > 5 else '' for i in range(10)]
它输出:
[" ", " ", " ", " ", " ", 6, 7, 8, 9]
祝你一切顺利。