除了替换(修改、替换)一些元素之外,还能写出一个对现有字典进行计算的简洁表达式吗?示例:
a = {'x': 3, 'y': 8}
我想编写一个表达式,其计算结果为一个dict,其中“x”元素的值递增1:
{'x': 4, 'y': 8}
我不想修改a
(如a['x']=1
);我想将a
视为不可变的。我可以这样做:
a = {'x': 3, 'y': 8}
a_copy = a.copy()
a_copy['x'] += 1
然后参考副本
。但是有没有一种更简洁的方法不需要额外的变量呢?(我只需要引用结果字典一次。)性能不是问题。
字典理解可以用来生成新字典,但是我想要一个返回现有字典的轻微变化的表达式。
您可以使用字典理解,仅递增要递增的键的值
#I took the keys in a list if you want to increment more keys
keys_to_incr = ['x']
a = {'x': 3, 'y': 8}
#Increment value if key falls in keys_to_incr, else leave value as0is
a_copy = {k: v+1 if k in keys_to_incr else v for k, v in a.items()}
print(a_copy)
输出将是
{'x': 4, 'y': 8}
有点晦涩,但做的工作,只工程以来Python 3.5:
a = {'x': 3, 'y': 8}
a_copy = {**a, 'x': a['x'] + 1}
print(a_copy)
# {'x': 4, 'y': 8}
更好的方法是使用理解:
a_copy = {k: v + 1 if k == 'x' else v for k, v in a.items()}
本文向大家介绍如何编写JSP表达式?,包括了如何编写JSP表达式?的使用技巧和注意事项,需要的朋友参考一下 JSP表达式元素包含一种脚本语言表达式,该脚本语言表达式经过评估,转换为String,并插入该表达式出现在JSP文件中的位置。 由于表达式的值已转换为字符串,因此可以在JSP文件的一行文本中使用表达式,无论是否用HTML标记。 expression元素可以包含根据Java语言规范有效的任何表
所以基本上我的程序是这样的: 它创建包含月份和作为值的购买列表的映射(每个购买包含一个价格)。 有什么方法可以做到这一点吗?
本文向大家介绍html元素哪些标签是不可替换元素?哪些是可替换元素?相关面试题,主要包含被问及html元素哪些标签是不可替换元素?哪些是可替换元素?时的应答技巧和注意事项,需要的朋友参考一下 (replaced element)的展现效果不是由 CSS 来控制的。这些元素是一种外部对象,它们外观的渲染,是独立于 CSS 的。也就是说,css 可以影响元素但是不能影响其内容的显示。 可替换元素: …
我想以firstName和lastname的形式获得输出。怎么用正则表达式做,有什么想法吗?
我有一个字符串向量,如下所示:。出于某种原因,后面有随机/不同的数字,我正在尝试删除它们。使用正则表达式,我如何告诉R移除或替换后面的数字,所以我最终得到。我对Regex了解不多,所以如果有人不仅能提供代码,还能提供对代码的简要解释,我将非常感谢。谢了!
给定以下标记: 如何在。分隔符后选择类。first和。second?我尝试了以下几点: 然而,这似乎并不奏效。我以为这是这样的,从左到右: 既然它不能工作,我想我误解了其中一个选择器的功能。感谢任何帮助(或这方面的替代方案)。 PS: 标记来自外部源。虽然我可以在技术上用JS添加一个类,但如果可能的话,我更倾向于不添加。我也尝试过使用“:not”选择器,但我也没有得到它的工作。 谢谢 编辑: 在屏