我有两个列表:
L1 = [[25, 34, 'ABCD', 'EFG']] L2 = [[12, 22, 'ABCD', 'EGH']]
我想提取" ABCD"从两个列表中一次比较一个字符。 从我使用的列表中提取字符串:
string1 = [string[3] for string in L1] string2 = [string[3] for string in L2]
为了比较它们我用过:(因为我都想要角色和位置)
if len(string1) == len(string2): for i, char in enumerate(string1): print(i) print(char)
打印时我只获得位置0,而对于char我得到整个字符串(ABCD)。 如何获得每个位置并一次获得一个角色?
答案 0 :(得分:0)
使用:
[string[3] for string in L1]
从"ABCD"
获取L1
只会获得最后一个字符串,无论它是"ABCD"
还是def extract(lst, ext):
for l in lst:
for string in l:
if string == ext:
return string
return None
。只需简单地编写一个为您提取此功能的函数:
L1 = [[25, 34, 'ABCD', 'EFG']]
L2 = [[12, 22, 'ABCD', 'EGH']]
str1 = extract(L1, "ABCD")
str2 = extract(L2, "ABCD")
fail = extract(L1, "ABC")
>>> print(str1)
"ABCD"
>>> print(str2)
"ABCD"
>>> print(fail)
None
相应的行为:
if str1 and str2 and len(str1) == len(str2):
for i, char in enumerate(zip(str1, str2)):
print(i, char[0], char[1])
然后只需检查两个字符串是否有效,就可以一次用zip()
遍历两个字符串:
0 A A
1 B B
2 C C
3 D D
哪个输出:
.flex-bottom {
display: flex;
align-items: flex-end;
}