簡體   English   中英

將一個列表的每個字符串元素連接到另一個列表的所有元素

[英]Concatenate each string element of one list to all elements of another list

year = ['2019', '2020', '2021', '2022']
week = [str(i).zfill(2) for i in range(1,53)]

我正在嘗試將年份列表的每個字符串元素加入/連接到周列表的所有元素,如下所示

['201901'
'201902'
'201903'
.
.
.
.
.
'202250'
'202251'
'202252']
  • Output 應該是一個列表

我可以使用以下代碼實現這一點

week = [str(i).zfill(2) for i in range(1,53)]
year = [str(i) for i in range(2019,2023)]*len(range(2019,2023))*52
year.sort()
print({i:year.count(i) for i in year})

li = []
for yr in set(year):
    li.append([i + j for i, j in zip([k for k in year if yr in k], week)])
yr_week_id = sorted(list(np.concatenate(li)))
print(yr_week_id)

這個問題有沒有更簡單的解決方案?

你真的不需要列表。 您可以像 go 一樣計算周數。

如果年份范圍可以用range()表示,您甚至可能不需要年份列表

year = ['2019', '2020', '2021', '2022']
output = []
for yy in year:
    output.extend([f'{yy}{ww:02d}' for ww in range(1, 53)])
print(output)

Output:

['201901',
'201902',
...
'202251',
'202252']

暫無
暫無

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

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