python - 从对列表中生成两个数组
问题描述
假设我有以下数组
a = [1, 2, 3]
b = [4, 5, 6]
我创建了列表
c = [(1,4), (1,5), (1,6), (2,4), (3,5), (2,6), (3,4), (3,5), (3,6)]
如何创建两个列表,如下所示:
a = [1, 1, 1, 2, 2, 2, 3, 3, 3]
b = [4, 5, 6, 4, 5, 6, 4, 5, 6]
解决方案
您可以zip
在此处使用元组解包。
a, b = zip(*c)
print(a) # (1, 1, 1, 2, 3, 2, 3, 3, 3)
print(b) # (4, 5, 6, 4, 5, 6, 4, 5, 6)
np.repeat
由于 numpy 被标记,您可以使用和直接生成所需的数据np.tile
a = [1, 2, 3]
b = [4, 5, 6]
a = np.repeat(a, 3)
b = np.tile(b, (3, ))
print(a) # array([1, 1, 1, 2, 2, 2, 3, 3, 3])
print(b) # array([4, 5, 6, 4, 5, 6, 4, 5, 6])
推荐阅读
- c - 如何将 pid 的值保存在数据结构中并稍后使用 fork() 访问它?
- javascript - 如何在html中允许和显示额外的空格
- r - 来自 R Shiny 应用程序的子背景 Julia 进程在应用程序关闭后不会保持活动状态
- azure-synapse - 标题从镶木地板文件中读取为行
- javascript - Svelte Firebase:未解析的函数或方法 firestore()
- jquery - 如何在打字稿中正确使用 jquery-mask-plugin?
- flutter - Flutter Amplify Cognito ......没有可用的 Amplify 类
- authentication - 覆盖 SignInManager.PasswordSignIn 以便我可以在 MS.Identity 中使用其他内容
- python - 变量输入函数 scipy.curve_fit
- algorithm - 尝试为我的游戏创建路径算法