noodles = [(‘Samyang’, ‘Korea’, ’50’), (‘Nissin Cup Noodle’, ‘Japan’, ’70’), (‘Jin Mai Lang’, ‘China’, ’40’)]
例如,我只想要日清杯面条。输出应该如下所示:
Nissin Cup Noodle, Japan, 70
听起来像是要根据第一个坐标在元组列表中查找特定项的索引。
noodles = [('Samyang', 'Korea', '50'), ('Nissin Cup Noodle', 'Japan', '70'), ('Jin Mai Lang', 'China', '40')]
names = [item[0] for item in noodles]
index = names.index('Nissin Cup Noodle')
print(noodles[index])
您可以使用列表推导式和[0]
索引…
noodles = [(‘Samyang’, ‘Korea’, ’50’), (‘Nissin Cup Noodle’, ‘Japan’, ’70’), (‘Jin Mai Lang’, ‘China’, ’40’)]
nissan = 'Nissin Cup Noodle'
n_c_n = [(x, y, z) for x, y, z in noodles if x == nissan][0]
或for循环:
noodles = [(‘Samyang’, ‘Korea’, ’50’), (‘Nissin Cup Noodle’, ‘Japan’, ’70’), (‘Jin Mai Lang’, ‘China’, ’40’)]
nissan = 'Nissin Cup Noodle'
for noodle in noodles:
if noodle[0] == nissan:
n_c_n = noodle
break
但是你可能应该使用字典来代替,如果你想根据键找到元素,你可以用*
将元组解包成一个包含键的元组,以得到你想要的所有三个元组:
noodles = {‘Samyang’: (‘Korea’, ’50’), ‘Nissin Cup Noodle’: (‘Japan’, ’70’), ‘Jin Mai Lang’: (‘China’, ’40’)}
nissan = 'Nissin Cup Noodle'
n_c_n = (nissan, *noodles[nissan])
您可以将元组中的值直接赋值给变量,并以这种方式打印它们:
for noodle_type, country, num in noodles:
print(f”{noodle_type}, {country}, {num}”)
如果你只想打印一个特定的元组,就在那里抛出if语句
for noodle_type, country, num in noodles:
if noodle_type == “whatever”:
print(f”{noodle_type}, {country}, {num}”)