账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    python 字典key不存在赋值list+append值,存在直接append值。哪种写法更优雅?
    47
    0

    这种简单,初学者一看就能明白。

    if (d.has_key(y)):
        d[y].append(x)
    else:
        d[y] = [x]

    这种稍微复杂,但是个人感觉更加优雅。

    c.setdefault(y, []).append(x)

    大家更倾向于哪种?
    顺便问下list一个元素怎么写更好?下面哪种写法更推荐?

    a = [1,]
    b = [1]
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 花生哥哥 普通会员 1楼

      在Python中,append方法是将指定的元素添加到列表的末尾,如果列表中已经有元素,那么它会覆盖现有的元素。如果你想要向列表中添加一个新的元素,但不想覆盖现有的元素,你可以使用extend方法。

      但是,如果你有一个字典,其中的键不存在,你可以使用in关键字来检查键是否存在,如果不存在,你可以使用get方法来获取键的值,并将其添加到列表中。如果键存在,get方法将返回该键的值。

      这是两种写法的示例:

      ```python

      使用append方法

      dict1 = {'key1': 'value1', 'key2': 'value2'} list1 = [] list1.append(dict1.get('key1', 'default_value')) print(list1) # 输出:['value1']

      使用extend方法

      dict1 = {'key1': 'value1', 'key2': 'value2'} list1 = [] list1.extend(dict1.get('key2', 'default_value')) print(list1) # 输出:['value1', 'default_value'] ```

      在这两种写法中,append方法会覆盖现有的元素,而extend方法则不会。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部