我有一个看起来像这样的 Python 字符串:
"5 pounds cauliflower,
cut into 1-inch florets (about 18 cups)
2 large leeks,
1 teaspoons salt
3 cups of milk"
Run Code Online (Sandbox Code Playgroud)
我需要为关键字之前出现的每个数字加 1 cup。
结果需要是:
"5 pounds cauliflower,
cut into 1-inch florets (about 19 cups)
2 large leeks,
1 teaspoons salt
4 cups of milk"
Run Code Online (Sandbox Code Playgroud)
我有一些类似的事情:
import re
p = re.compile('([0-9]+) cup')
for i in p.finditer(s):
# do something with int(i.group(1)) + 1
Run Code Online (Sandbox Code Playgroud)
我不知道如何仅替换我在每次迭代中找到的数字。
我还有一种边缘情况,我可能需要将 9 替换为 10,因此我不能简单地获取数字的索引并将该数字替换为新数字,因为新数字可能会更长。
不涉及正则表达式的解决方案也受到欢迎。
有没有办法为要初始化的数组中的对象定义默认值?
与声明其数组时初始化基本类型的方式相同:
int[] myIntArray = new int[5]; // we now have an array of 5 zeroes
char[] myCharArray = new char[2]; // an array in which all members are "\u0000"
Run Code Online (Sandbox Code Playgroud)
等等
我想声明一个我定义的类型的对象数组,并让它们以类似的方式自动初始化.我想这意味着我想new myObject()为数组中的每个索引运行(使用默认构造函数).
我无法在网上找到任何相关内容,我得到的最接近的是Arrays.fill(myArray, new MyObject())在初始化数组后使用(实际上只是创建一个对象并用指针填充数组),或者只是使用循环来遍历数组并初始化每个单元格.
谢谢!
编辑:我意识到这不仅与数组相关,而且与一般声明对象并使它们默认为值/自动初始化有关.