想要获取值匹配的其他列表的值
Want get value of other list where value matched
我有两个列表如下。
characteristic = ['length', 'width', 'height', 'Thread length', 'space']
value = ['length 34','width ab23','Thread length 8ah','space','height 099']
我写了一个循环
temp_str = {}
for x in characteristic:
for z in value:
if x in z:
temp_str = z.replace(x,'')
temp_str += ','
print(temp_str)
我得到输出:
34,
Thread 8ah,
ab23,
099,
8ah,
,
但实际上我想要如下输出
34,ab23,099,8ah,
您可以使用嵌套列表理解,检查 value
中的值是否以 characteristic
:
中的特征开头
result = ','.join(v.replace(c, '') for c in characteristic for v in value if v.startswith(c))
输出:
34, ab23, 099, 8ah,
请注意,space
出现在 value
中,没有附加任何值;因此字符串中的空字段。
尝试以下操作:
characteristic = ['length', 'width', 'height', 'Thread length', 'space']
value = ['length 34','width ab23','Thread length 8ah','space','height 099']
temp_str = ''
for x in characteristic:
for z in value:
if z.startswith(x) and z!=x:
temp_str += z.split(' ')[-1]
temp_str += ','
print(temp_str)
输出:
34,ab23,099,8ah,
注意:space
被忽略,因为它未包含在您要求的输出中
我有两个列表如下。
characteristic = ['length', 'width', 'height', 'Thread length', 'space']
value = ['length 34','width ab23','Thread length 8ah','space','height 099']
我写了一个循环
temp_str = {}
for x in characteristic:
for z in value:
if x in z:
temp_str = z.replace(x,'')
temp_str += ','
print(temp_str)
我得到输出:
34,
Thread 8ah,
ab23,
099,
8ah,
,
但实际上我想要如下输出
34,ab23,099,8ah,
您可以使用嵌套列表理解,检查 value
中的值是否以 characteristic
:
result = ','.join(v.replace(c, '') for c in characteristic for v in value if v.startswith(c))
输出:
34, ab23, 099, 8ah,
请注意,space
出现在 value
中,没有附加任何值;因此字符串中的空字段。
尝试以下操作:
characteristic = ['length', 'width', 'height', 'Thread length', 'space']
value = ['length 34','width ab23','Thread length 8ah','space','height 099']
temp_str = ''
for x in characteristic:
for z in value:
if z.startswith(x) and z!=x:
temp_str += z.split(' ')[-1]
temp_str += ','
print(temp_str)
输出:
34,ab23,099,8ah,
注意:space
被忽略,因为它未包含在您要求的输出中