python - 来自用户的向量输入 - python
问题描述
我正在尝试使用输入函数获得一个向量来进行数学运算。下面是我正在使用的代码。
任何指针都会有所帮助
谢谢,普拉尚特
vector1=input()
(1,2,3),(4,5,6),(7,8,9)
vector1=np.array(vectors.split(','),dtype=np.int16)
Error:
line 3267, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-109-6cf21e5e043d>", line 1, in <module>
vector1=np.array(vectors.split(','),dtype=np.int16)
ValueError: invalid literal for int() with base 10: "('(1"
解决方案
在正则表达式的帮助下,您可以执行以下操作:
import numpy as np
import re
user_input = "(1,2,3),(4,5,6),(7,8,9)"
# Convert user-provided string to nested list
x = re.findall(r"\((\d+(?:,\d+)*)\)", user_input)
x = [part.split(',') for part in x]
# Create 2D numpy array from nested list
arr = np.array(x, dtype=int)
print(arr)
# Output:
# [[1 2 3]
# [4 5 6]
# [7 8 9]]
推荐阅读
- php - cakephp3中的关系
- amp-html - 从 Google AMP Cache url 提供时,AMP-video-docking 在 iOS 上不起作用
- amazon-redshift - 使用动态 SQL 编写存储过程
- asp.net-core - 将 int(1 和 0)转换为 bool(true 和 false)以进行复杂类型属性的模型绑定的最佳方法是什么?
- java - 使用 Jersey 在 REST 服务中上传多个文件
- haskell - 从 yesod 处理程序调用 rest API
- java - 在 Java 中获取 Amazon Cognito 访问令牌
- javascript - 脚本未打印到 console.log
- sql - 在 Postgres/Rails 中按月计算员工流动率
- python - Raspberry Pi django 服务器 ImportError 无法导入名称“etree”