python列表如何依次取2個元素?

時間 2021-09-10 07:18:52

1樓:邢軒

demo_lst = [1,2,3,4,5]def to_sublists(lst, length=2):

return [lst[i:i+length] for i in range(len(lst)+1-length)]

print(to_sublists(demo_lst))letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n']

print(to_sublists(letters,length=3))

2樓:Python 學習者

demo_lst = [1,2,3,4]

result = [demo_lst[i:i + 2] for i in range(0, len(demo_lst), 2)]

print(result)

3樓:

import numpy as np

lst = [1, 2, 3, 4]

assert len(lst)%2==0

arr = np.array(lst).reshape(-1, 2)print(arr)

4樓:Henri Jambo

極簡單又不失易讀性的方法:

new_list = [demo_list[i: i+2] for i in range(len(demo_list) - 1)]

5樓:秦風

demo_list=[

1,2,

3,4]

# 寫法1

result=

fori

inrange

(len

(demo_list)-

1):result.(

demo_list[i

:i+2

])# 寫法2

result=[

demo_list[i

:i+2

]foriin

range

(len

(demo_list)-

1)]利用python的切片機制。

6樓:艾歐尼亞

今天突然又想起了一種方法,可以少一次拷貝

zip(*[iter(list)] * 2)

原答案zip(list,list[1:])

7樓:Dragon sea

for k in [[alist[i],alist[i+1]] for i,j in enumerate(alist) if i+1<=len(alist)-1]:print(k)

8樓:華仔伴你學AI

python進行索引和切片時,遵循左閉右開原則,即包前不包後!

a=[1,2,3,4,5]

例如b = a[2:4]

a[:2]

a[-2:]

9樓:不知

new_list = [[demo_lst[i], demo_lst[i+1]] for i in range(len(demo_lst)-1)]

為什麼python中將列表1賦值給列表2後將列表2順序反轉也會影響列表1?

酒罈壇兒 python中的變數本質都是指標變數,儲存的是資料在記憶體中的位址。所以你通過其中乙個變數對資料本身進行任何操作都會直接影響另乙個變數。 Gavin 其實問題的關鍵在於 第一,賦值其實只是複製了物件的引用,並沒有建立新的物件第二,操作物件是乙個可變物件對於ls1 1,2,3,4,5 語句,...

Python如何對N個列表求交集?

EMYG list1 a b f list2 b c d e set1 set list1 set list2 列出相同元素 set2 set list1 set list2 列出不同元素 print 相同元素 list set1 print 不同元素 list set2 Elvin Peng a ...

python如何實現列表交叉合併

蓋世小猛男 all list length1 len res list length2 len res list2 if length1 length2 length length2 elif length1 length2 length length1 else length length1 fo...