擅长:python、mysql、java
<p>与Niranjan的答案类似,但不需要列表理解</p>
<pre><code>import numpy as np
import pandas as pd
exlcusion_list = [43606,125490]
free_ids = np.arange(40000, 200000)
free_ids = free_ids[~np.isin(free_ids, exlcusion_list)]
def get_ids(client_names):
new_client_ids = np.random.choice(free_ids, len(client_names), replace=False)
return pd.DataFrame(data=new_client_ids, index=client_names, columns=["id"])
print(get_ids(["Bob", "Fred", "Max"]))
</code></pre>
<p>给</p>
<pre><code> id
Bob 125205
Fred 185058
Max 86158
</code></pre>