Python 新手之二 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
villa2935
V2EX    Python

Python 新手之二

  •  
  •   villa2935 2023-07-31 22:14:29 +08:00 2207 次点击
    这是一个创建于 838 天前的主题,其中的信息可能已经有所发展或是发生改变。

    上一个问题是集合、列表不分了,感觉自学一天还是有点嫩。不用声明变量类型就能用这个很久没玩过了,上次玩还是 dos basic 时代。甚至连 basic 声明个数组都有个专门的语句,py 这种什么都不用就能声明还是有点不习惯。

    这自学第二天,又出现了新问题。

    合并两个列表成字典。

    keys = [ 0,0,0,0 ] values = [ 0,0,0,0 ] 

    怎么用比较简单的方法让这两个列表合成一个字典呢,合并规则就是下标对应。keys 里的第一个 key ,就是对应 values 里第一个 value ,keys 里第二个 key ,对应 values 里第二个 value 。

    python 有没有比较独道的方法?

    20 条回复    2023-08-25 09:17:47 +08:00
    Weixiao0725
        1
    Weixiao0725  
       2023-07-31 22:19:15 +08:00
    用 zip 就可以实现
    t3zb2xzvjm4yvmn
        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))
    xqher042
        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)} 遍历这个可迭代对象,生成一个包含合并结果的字典。
    villa2935
        4
    villa2935  
    OP
       2023-07-31 22:37:25 +08:00
    @t3zb2xzvjm4yvmn 深刻!深刻!
    villa2935
        5
    villa2935  
    OP
       2023-07-31 22:37:36 +08:00
    @xqher042 厉害了!
    ershierdu
        6
    ershierdu  
       2023-07-31 22:59:01 +08:00
    如果想花时间深入学习,建议系统地看教程。否则自己摸索很容易提出一些 XY 问题,实际上是在走弯路
    Yourshell
        7
    Yourshell  
       2023-07-31 23:30:10 +08:00
    还没学会用 chatgpt 呢
    villa2935
        8
    villa2935  
    OP
       2023-08-01 03:14:35 +08:00
    @ershierdu 我看的是网上的教程,w3school 的。可以么?我以前有编程基础。
    villa2935
        9
    villa2935  
    OP
       2023-08-01 03:17:03 +08:00
    @Yourshell 还没呢,听说过,没见过。
    poporange
        10
    poporange  
       2023-08-01 10:24:55 +08:00
    我还是建议你在 B 站看黑马程序员的零基础教程吧,把学习姿态放低,反而学的快。
    ruanimal
        11
    ruanimal  
       2023-08-01 11:23:26 +08:00
    @villa2935 那就直接看官方文档啊
    bugmaker1024
        12
    bugmaker1024  
       2023-08-01 11:33:49 +08:00
    @poporange 确实,与其看文档,不如看视频系统的学习
    RichardX2023
        13
    RichardX2023  
       2023-08-01 14:20:57 +08:00
    wliansheng
        14
    wliansheng  
       2023-08-01 14:47:34 +08:00
    基础语法可以去 B 站看视频 学的更快
    villa2935
        15
    villa2935  
    OP
       2023-08-01 15:36:00 +08:00
    @poporange 我都上这来了,就挺低的了。
    villa2935
        16
    villa2935  
    OP
       2023-08-01 15:36:51 +08:00
    @poporange 是 bilibili 吗?可以的,哈哈。
    villa2935
        17
    villa2935  
    OP
       2023-08-01 15:38:33 +08:00
    @RichardX2023 这个好,我今天就准备看这个。
    villa2935
        18
    villa2935  
    OP
       2023-08-01 15:40:05 +08:00
    @ershierdu 有推荐的你认为比较系统的教程吗?
    Kinnice
        19
    Kinnice  
       2023-08-01 15:51:14 +08:00
    @villa2935 #15 您这是《不耻下问》
    xi4oyu
        20
    xi4oyu  
       2023-08-25 09:17:47 +08:00 via Android
    @t3zb2xzvjm4yvmn 不对吧,这两句不等价啊,第一句会导致字典里所有的 value 都是 values 最后一个元素
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2517 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 03:59 PVG 11:59 LAX 19:59 JFK 22:59
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86