Python如何實現兩個list按照固定的數字進行交叉列印?

時間 2021-06-09 16:05:45

1樓:BeyondTheHorizon

運用列表的切片知識點即可完成

newlist=

list1=[…]

list2=[…]

list3=[…]

print(newlist)

2樓:

from

itertools

import

zip_longest

definterlace

(inputs,k

):return[e

forinterlaced_list

inzip_longest(*

[li[i

::k]for

liin

inputs

fori

inrange(k

)])forein

interlaced_listife

isnot

None

]def

interlace_step_by_step

(inputs,k

):step_1=[

li[i::

k]forli

ininputs

fori

inrange(k

)]print(f

'Step 1: ')

step_2

=list

(zip_longest(*

step_1

))print(f

'Step 2: ')

step_3=[

efor

interlaced_list

instep_2

fore

ininterlaced_listife

isnot

None

]print(f

'Step 3: ')

list1=[

"A",

"B",

"C"]

list2=[

"2",

"3",

"4",

"5"]

list3=[

"2",

"c",

"s",

"4",

"d"]

print

(interlace

([list1

,list2

,list3],2

))interlace_step_by_step

([list1

,list2

,list3],2

)"""

['A', 'B', '2', '3', '2', 'c', 'C', '4', '5', 's', '4', 'd']

Step 1: [['A', 'C'], ['B'], ['2', '4'], ['3', '5'], ['2', 's', 'd'], ['c', '4']]

Step 2: [('A', 'B', '2', '3', '2', 'c'), ('C', None, '4', '5', 's', '4'), (None, None, None, None, 'd', None)]

Step 3: ['A', 'B', '2', '3', '2', 'c', 'C', '4', '5', 's', '4', 'd']

"""可以一行但沒必要也很難懂,用了一些List comprehension 和 itertools.zip_longest ,它跟zip的區別是會補充不足的元素。

Python3如何實現兩個列表的交叉列印?

defiter cross iterables copy iter item for item initerables while copy 一直迭代到copy列表為空 foritem incopy try yield next item except StopIteration 如果next 丟擲...

python 如何判斷兩個時間是否在同乙個5分鐘時段內?

無關風月 用 unix 時間戳除以300的得數是否一致來判斷,相同的即在同乙個時間段,否則不在。300 是 5 分鐘的秒數,然後中國的時區 8 小時剛好是 5 分鐘的倍數,所以不影響。In 43 time list 09 56 00 09 59 59 10 00 00 10 01 01 10 06 ...

python 如何實現遠端tail f?

37丫37 django channels寫個也不複雜,這裡有關於channels的介紹,也有實現tailf的例子 Django使用Channels實現WebSocket 上篇 guyskk tail f是不會結束的,所以你要開新執行緒去讀取日誌並寫入django response 並且respon...