擅长:python、mysql、java
<p>我建议创建一个<code>dict</code>,然后基于整数值映射这些值</p>
<pre><code>from collections import defaultdict
mapping = defaultdict(list)
items = ['T46', 'T43', 'R45', 'R44', 'B46', 'B43', 'L45', 'L44', 'C46', 'C45']
for i in items:
mapping[int(i[1:])].append(i[0])
print(mapping)
>>> defaultdict(<class 'list'>, {43: ['T', 'B'], 44: ['R', 'L'], 45: ['R', 'L', 'C'], 46: ['T', 'B', 'C']})
</code></pre>
<p>从那里,您可以用<code>areas</code>创建一个<code>list</code>,然后在<code>dict</code>区域模式中重新赋值</p>
<pre><code>areas = ['T', 'L', 'B', 'R', 'C']
area_pattern = {k: [1 if l in v else 0 for l in areas] for k, v in mapping.items()}
for key, areas in area_pattern.items():
print(key, areas)
>>> 43 [1, 0, 1, 0, 0]
>>> 44 [0, 1, 0, 1, 0]
>>> 45 [0, 1, 0, 1, 1]
>>> 46 [1, 0, 1, 0, 1]
</code></pre>