我在下面有一个列表。我需要用它来创建一个只有国家名称的新列表。 如何循环 x 以获得国家/地区名称列表?
x = [["UK", "LONDON", "EUROPE"],
["US", "WASHINGTON", "AMERICA"],
["EG", "CAIRO", "AFRICA"],
["JP", "TOKYO", "ASIA"]]
结果应该是这样的
UK
US
EG
JP
请您参考如下方法:
你有两种方法
使用for循环
countries = []
for e in x:
countries.append(e[0])
或者使用列表理解,这在大多数情况下是更好的选择
countries = [e[0] for e in x]
此外,如果您的数据源是一个生成器(在本例中不是),或者如果您对每个元素进行一些昂贵的处理(在本例中也不是),您可以使用 generator expression 通过改变方括号 [] 为圆括号 ()
countries = (e[0] for e in x)
这将按需计算元素,如果数据源太长或与列表理解相比,生成器也将减少内存占用。
