python - 如何在 for 循环中访问我的类中的数组元素
问题描述
这段代码有什么问题?我是 python 和面向对象编码的新手,我不知道如何访问这些值......
代码:
class Stock():
def __init__(self, foodArray, quantityArray):
self._foodArray = foodArray
self._quantity = quantityArray
def printStock(self):
for i in range(len(self._foodArray)):
print(self._foodArray[i] + ' ' + self._quantity[i])
预期:a 1 b 2 c 4 x 100 等...
解决方案
似乎问题在于您试图将字符串(食物)列表的元素与数字列表(数量)的元素“连接”起来。假设两个数组的长度相同,并且您使用的是 Python 3.6+,请使用以下命令:
class Stock():
def __init__(self, foodArray, quantityArray):
self._foodArray = foodArray
self._quantity = quantityArray
def printStock(self):
for i in range(len(self._foodArray)):
print(f'{self._foodArray[i]} {self._quantity[i]}')
如果您使用的是 3.6 之前的 Python 版本,请将 print 语句更改为:
print('{} {}'.format(self._foodArray[i], self._quantity[i]))
您甚至可以使用以下方法简化该方法:
def printStock(self):
for food, quantity in zip(self._foodArray, self._quantity):
print(f'{food} {quantity}')
工作示例:
>>> s = Stock(['apple', 'banana', 'coconut'], [1, 2, 3])
>>> s.printStock()
apple 1
banana 2
coconut 3
推荐阅读
- c# - 通过 C# / Oracle.ManagedDataAccess 查询 oracle-view 的文本
- amazon-s3 - 试图通过 aws listObjects 调用找出奇怪之处
- django - 如何在 Django 中使整行独一无二
- ruby-on-rails - 将 Rails 6 应用程序部署到 Google Cloud Platform App Engine 时出错
- python - 如何使用 BeautifulSoup 查找没有 id 或类名的 html 标签?
- c# - NFluent:流利地检查异常的属性
- python - Slack API Python客户端无法搜索频道
- php - Symfony 4 - 在我的表单中使用服务(在 query_builder 中)
- java - Tomcat SSL 增加了响应时间的开销 - 作为 Springboot 嵌入式容器运行
- html - div没有足够的高度