在 Python 3 中,我有一个包含各种记录的元组列表,假设它被称为alpha_data
. 它们的布局如下:[('A', 'Apple', 14.5), ('B', 'Banana', 23.4), etc.]
有没有一种方法可以让用户输入类似于元组的第一个值(例如 A 或 B)的值,并且程序将检查该值是否存在,如果存在则打印回整个嵌套值?例子:
Input: A
Output: A Apple 14.5
还有一种方法可以修改它,以便用户可以输入多个值并检查并打印它们吗?例如:
Input: A, B
Output:
A Apple 14.5
B Banana 23.4
编辑:也许我需要更清楚一点。我有代码可以获取输入并将其转换为多个条目的列表。然后我得到了一条线,它按照我需要的方式打印元组的 3 个值。我所需要的只是将这两个部分连接在一起。
到目前为止,这是我的代码:
import shares
portfolio_str=input("Please list portfolio: ")
portfolio_str= portfolio_str.replace(' ','')
portfolio_str= portfolio_str.upper()
portfolio_list= portfolio_str.split(',')
print(portfolio_list)
print()
print('{:<6} {:<20} {:>8}'.format('Code', 'Name', 'Price'))
data=shares.EXCHANGE_DATA
for (code, name, share_value) in data:
if code == portfolio_list[]:
print('{:<6} {:<20} {:>8.2f}'.format(code, name, share_value))
else:
print("Failure")
如您所见,我正在使用一个名为 share 的模块,其中包含一个名为 EXCHANGE_DATA 的元组列表,其设置如下:
EXCHANGE_DATA = [('AIA', 'Auckair', 1.50),
('AIR', 'Airnz', 5.60),
('AMP', 'Amp',3.22),
('ANZ', 'Anzbankgrp', 26.25),
('ARG', 'Argosy', 12.22),
('CEN', 'Contact', 11.22),
('CNU', 'Chorus',3.01),
('DIL', 'Diligent', 5.3),
('DNZ', 'Dnz Property', 2.33),
('EBO', 'Ebos', 1.1),
现在我如何让它检查用户输入中的任何值并打印它们中的任何一个?