Python 3には、さまざまなレコードを含むタプルのリストがあります。たとえば、と呼ばれalpha_data
ます。それらは次のようにレイアウトされています:[('A'、'Apple'、14.5)、('B'、'Banana'、23.4)など]
ユーザーがタプルの最初の値(AまたはBなど)に類似した値を入力でき、プログラムがこの値が存在するかどうかを確認し、存在する場合はネストされた値全体を出力する方法はありますか?例:
Input: A
Output: A Apple 14.5
ユーザーが複数の値を入力してそれらすべてをチェックして印刷できるように変更する方法もありますか?例えば:
Input: A, B
Output:
A Apple 14.5
B Banana 23.4
編集:多分私はもう少し明確にする必要があります。入力を取得して複数のエントリのリストに変換するコードがあります。次に、タプルの3つの値を必要な方法で出力する行があります。これらの2つの部分を結合する方法が必要です。
これまでの私のコードは次のとおりです。
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")
ご覧のとおり、EXCHANGE_DATAというタプルのリストを含むsharesというモジュールを使用しています。これは、次のように設定されています。
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),
では、ユーザー入力の値をチェックして、それらのいずれかを出力するにはどうすればよいですか?