python - 有没有比三重嵌套 for 循环更好的方法来连接三个列表中的元素?
问题描述
我有三个这样的列表:
l1 = ['a', 'b', 'c']
l2 = ['d', 'e', 'f']
l3 = ['h', 'i', 'j']
现在,我要做的是将位于同一位置的所有元素组合在一行上,如下所示:
line_1: 'adh'
line_2: 'bei'
line_3: 'cfj'
有没有比三重嵌套 for 循环更好的方法来做到这一点?
for i in range(len(l1)):
for j in range(len(l2)):
for k in range(len(l3)):
if i == j and j == k:
print(l1[i] + l2[j] + l3[k])
基本上我试图让一些东西运行得比 O(n^3) 更快,因为我有大约 100,000 个项目我想这样做。
不确定 CSV 模块是否有办法做到这一点,但在组合每一行之后,将被写入 csv 文件。到目前为止,我还没有找到我想要的东西,并且发现社区中的某个人可能知道如何更好地解决这个问题。
哇感谢所有看过这个的人!有几个答案,他们都工作。我将为首先发布的人标记已回答的问题。再次感谢所有观看的人!我什至不知道 zip 功能。
解决方案
你可能想要这样的东西:
l1 = ['a', 'b', 'c']
l2 = ['d', 'e', 'f']
l3 = ['h', 'i', 'j']
for line in (''.join(t) for t in zip(l1, l2, l3)):
print(line)
推荐阅读
- macos - iTerm2 现在将当前行保持在屏幕顶部,无法查看历史记录
- xml - 查询构建一对多结构
- java - 登录页面不会重定向到主活动页面
- arrays - 如何将 Int 转换为 ByteArray,然后使用 Kotlin 将其转换回 Int?
- flutter - 在颤动本地通知插件中暂停通知?
- azure-functions - VNET 上的 Azure Functions 无法与本地资源通信
- google-play-console - 如何授权 google play 控制台开发者帐户 API 访问
- javascript - 单击时jQuery选项卡无法正常工作
- javascript - 单击按钮时值未更新
- scala - 根据列表的匹配值将常见行过滤到 Spark DataFrame 中