簡體   English   中英

在第 n 個元素處拆分列表列表

[英]Split list of lists at nth element

我有一個如下所示的列表,我想返回該列表中的前 n 個列表。 因此,例如,如果 n =6,它應該返回更大列表中的前 6 個列表。

[[[['Groningen',
    'GM0014',
    231299,
    0.49691957163671263,
    0.5030804283632874,
    0.1246092719812883,
    0.2176490170731391,
    0.2934988910457892,
    0.22006147886501887,
    0.14418134103476452,
    0.6526227956022291,
    0.2415531411722489,
    0.07018620919243057,
    0.035637854033091367],
   ['Amsterdam',
    'GM0363',
    862965,
    0.4957176710527078,
    0.5042823289472922,
    0.14554703840827843,
    0.1257142526058415,
    0.36046421349649177,
    0.24314775222633594,
    0.12512674326305237,
    0.6432080095948272,
    0.2436031588766636,
    0.08585516214446703,
    0.027333669384042227],
   ['Utrecht',
    'GM0344',
    352866,
    0.48986584142422335,
    0.5101341585757766,
    0.17020908786904945,
    0.1524119637482784,
    0.36236701750806255,
    0.21132667924934678,
    0.10368525162526285,
    0.6469027902943327,
    0.26626538119286075,
    0.05933697210839242,
    0.02749485640441414],
   ['Nijmegen',
    'GM0268',
    176731,
    0.4842500749726986,
    0.5157499250273013,
    0.1371293095155915,
    0.1775127170671812,
    0.2857506606084954,
    0.24216464570448873,
    0.15744266710424318,
    0.6046251082153102,
    0.2767256451895819,
    0.08034809965427683,
    0.038301146940830984],

列表的前六個元素可以通過切片得到:

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

my_list[:6] == [1, 2, 3, 4, 5, 6]

要獲取內部列表,索引或迭代外部列表:

my_nested_list = [
    [ 1,  2,  3,  4,  5,  6,  7,  8],
    [11, 22, 33, 44, 55, 66, 77, 88],
]

# first 6 of first list
my_nested_list[0][:6] == [1, 2, 3, 4, 5, 6]

# first 6 of every list
for inner_list in my_nested_list:
    print(inner_list[:6]) # or yield, append, call some other function…

# or as a list comprehension
[inner[:6] for inner in my_nested_list] == [
    [ 1,  2,  3,  4,  5,  6],
    [11, 22, 33, 44, 55, 66],
]

但是,您的數據顯示了字符串/數字數據列表列表的列表列表,因此您可能需要 go 更深入:

very_nested_list[0][0][:6] == [
    ['Groningen', 'GM0014', ...],
    ['Amsterdam', 'GM0363', ...],
    ['Utrecht', 'GM0344', ...],
    ['Nijmegen', 'GM0268', ...],
    ['City Five', 'GM5555', ...],
    ['City Six', 'GM6666', ...],  # and no more than 6
]
arr[0][:6]

您可以使用切片運算符獲取列表,如下所示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM