You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何简化实现年份列表元素与周列表所有元素的字符串拼接?

问题描述

现有如下两个Python列表:

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

需要将year中的每个年份字符串,与week中的所有周数字符串逐一拼接,生成形如['201901','201902',……,'202252']的列表,现寻求更简洁的实现方案。

简洁解决方案

这里提供两种高效简洁的实现方式:

1. 嵌套列表推导式(最直观简洁)

直接通过嵌套循环的列表推导式一行完成:

result = [y + w for y in year for w in week]

逻辑:外层遍历所有年份,内层遍历所有周数,将每一组年份与周数拼接后存入结果列表。

2. 使用itertools.product(适合通用笛卡尔积场景)

借助itertools模块的product方法生成年份和周数的笛卡尔积,再完成拼接:

import itertools
result = [''.join(pair) for pair in itertools.product(year, week)]

逻辑:itertools.product(year, week)会生成所有(年份, 周数)的元组组合,再通过''.join将每个元组内的两个字符串拼接为一个完整字符串。

两种方式都能得到符合要求的列表结果,其中第一种列表推导式在该场景下代码最精简,可读性也较强。

内容的提问来源于stack exchange,提问作者Suhas_Pote

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 09:27:27