
上一个问题是集合、列表不分了,感觉自学一天还是有点嫩。不用声明变量类型就能用这个很久没玩过了,上次玩还是 dos basic 时代。甚至连 basic 声明个数组都有个专门的语句,py 这种什么都不用就能声明还是有点不习惯。
这自学第二天,又出现了新问题。
合并两个列表成字典。
keys = [ 0,0,0,0 ] values = [ 0,0,0,0 ] 怎么用比较简单的方法让这两个列表合成一个字典呢,合并规则就是下标对应。keys 里的第一个 key ,就是对应 values 里第一个 value ,keys 里第二个 key ,对应 values 里第二个 value 。
python 有没有比较独道的方法?
1 Weixiao0725 2023-07-31 22:19:15 +08:00 用 zip 就可以实现 |
2 t3zb2xzvjm4yvmn 2023-07-31 22:24:22 +08:00 dict([(i, j) for i in keys for j in values]) 等同于 dict(zip(keys, values)) |
3 xqher042 2023-07-31 22:34:58 +08:00 在 Python 中,可以使用 zip() 函数和字典推导式将两个列表合并为一个字典。zip() 函数可以将多个可迭代对象的对应元素打包成元组,然后我们可以通过字典推导式将这些元组转化为键值对。 下面是使用 zip() 函数和字典推导式合并 keys 和 values 列表的示例代码: python keys = [0, 1, 2, 3] values = [10, 20, 30, 40] result = {k: v for k, v in zip(keys, values)} print(result) 输出结果为: {0: 10, 1: 20, 2: 30, 3: 40} 在上述代码中,zip(keys, values) 将 keys 和 values 中对应位置的元素打包成元组,并返回一个可迭代对象。然后,字典推导式 {k: v for k, v in zip(keys, values)} 遍历这个可迭代对象,生成一个包含合并结果的字典。 |
4 villa2935 OP @t3zb2xzvjm4yvmn 深刻!深刻! |
6 ershierdu 2023-07-31 22:59:01 +08:00 如果想花时间深入学习,建议系统地看教程。否则自己摸索很容易提出一些 XY 问题,实际上是在走弯路 |
7 Yourshell 2023-07-31 23:30:10 +08:00 还没学会用 chatgpt 呢 |
10 poporange 2023-08-01 10:24:55 +08:00 我还是建议你在 B 站看黑马程序员的零基础教程吧,把学习姿态放低,反而学的快。 |
12 bugmaker1024 2023-08-01 11:33:49 +08:00 @poporange 确实,与其看文档,不如看视频系统的学习 |
13 RichardX2023 2023-08-01 14:20:57 +08:00 |
14 wliansheng 2023-08-01 14:47:34 +08:00 基础语法可以去 B 站看视频 学的更快 |
17 villa2935 OP @RichardX2023 这个好,我今天就准备看这个。 |
20 xi4oyu 2023-08-25 09:17:47 +08:00 via Android @t3zb2xzvjm4yvmn 不对吧,这两句不等价啊,第一句会导致字典里所有的 value 都是 values 最后一个元素 |