擅长:python、mysql、java
<p>您的示例数据包含一些值,这些值在组件中不以任何字符串开头,因此此实现只是将它们放在排序列表的开头。如果您想引发此条件的异常,可以使用代码的注释掉部分。你知道吗</p>
<pre><code>def find_startswith_index(value, indexes=components):
for i, component in enumerate(components):
if value.startswith(component):
return i
return -1
# raise IndexError(f'Sort key not found for value "{value}"')
sorted(description, key=find_startswith_index)
# ['R508 "RES 9k 1% 06013"', 'R500 "RES 1k 1% 0603"', 'R500 "RES 1k 1% 0603"', 'R501 "RES 10k 1% 0604"', 'C500 "1uF 10% 0805"', 'C501 "10uF 10% 0806"', 'C502 "1nF 10% 0807"']
</code></pre>