[英]How do you access specific elements from the nested lists
我正在尝试访问嵌套列表中的元素。 例如,
file = [[“Name”,”Age”,”Medal”,”Location”],[“Jack”,”31”,”Gold”,”China”],[“Jim”,”29”,”Silver”,”US”]]
此数据至少包含 3000 个列表。 我只想将数据放入一个包含名称和“位置”列的新列表中
Output 应该是: [[“Name”,”Location”],[“Jack”,”China”],[“Jim”,”US”]]
这看起来像一个数据框。 但是我不能使用任何模块来分隔列。 我如何使用 python 内置 function 和方法对其进行编码。 我尝试了循环但失败了,
这是一个列表理解问题:
newfile = [row[0:2] for row in file]
您可以通过切片数组来完成此操作。 见下文:
newArr = [r[0:2] for r in oldArr]
如果我们有任何顺序数据类型,如lists, strings, tuples, bytes, bytearrays, and ranges
,那么 Python 支持切片表示法,我们可以使用 for 循环遍历给定列表中的每个字符。
如果我们有一个二维或嵌套列表,那么
file = [["Name","Age","Medal","Location"],["Jack","31","Gold","China"],["Jim","29","Silver","US"]]
for r in file:
print(r)
OUTPUT:-
['Name', 'Age', 'Medal', 'Location']
['Jack', '31', 'Gold', 'China']
['Jim', '29', 'Silver', 'US']
# ----------------------------------------------------------------
# if we want only specific elements
# then we use the slicing method
# ----------------------------------------------------------------
for r in file:
print(r[0:2])
OUTPUT:-
['Name', 'Age']
['Jack', '31']
['Jim', '29']
# ----------------------------------------------------------------
# if we want to output as a list
# then we can use single line for loop
# ----------------------------------------------------------------
newFile = [r for r in file]
print(newFile)
OUTPUT:
[['Name', 'Age', 'Medal', 'Location'], ['Jack', '31', 'Gold', 'China'], ['Jim', '29', 'Silver', 'US']]
# ----------------------------------------------------------------
# Output should be: [[“Name”,”Age”],[“Jack”,”31”],[“Jim”,”29”]]
# ----------------------------------------------------------------
newFile = [r[0:2] for r in file]
print(newFile)
OUTPUT:
[['Name', 'Age'], ['Jack', '31'], ['Jim', '29']]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.