我正在尝试在列表的元素中寻找子字符串。我想按特定顺序搜索这些子字符串,并将答案附加到保持该顺序的空列表中。
mylist = ['abc123', 'def456', 'ghi789', 'ABC987', 'aBc654']
sub = 'abc'
sub1 = 'def'
newlist=[]
for s in mylist:
if sub1 in s:
newlist.append(s)
if sub in s:
newlist.append(s)
newlist
我得到的结果是['abc123','def456']。预期的输出应为['def456','abc123']。我在做什么错了?
答案 0 :(得分:0)
在使用mylist
的第一次循环迭代中,s =“ abc123”
它到达第一个if
,其结果为False
。它命中第二个if
,求值True
并附加值。
在第二次循环迭代中,s =“ def456”
它击中第一个if
=> True
,它击中第二个if
=> False
您始终可以使用两个循环:
mylist = ['abc123', 'def456', 'ghi789', 'ABC987', 'aBc654']
sub = 'abc'
sub1 = 'def'
newlist=[]
for s in mylist:
if sub in s:
newlist.append(s)
for s in mylist:
if sub1 in s:
newlist.append(s)