如何在VS 2013和VS 2015中选择下一次出现的当前选择?
作为我想要的参考,在Sublime Text/Visual Studio Code中,这可以通过使用CTRL + D来实现.
试图谷歌它,发现类似的热键,但不完全是我需要的.
我有一个字典,键是整数.我随意将其中一个键更改为日期,我需要更改其他键.
样本数据:
{'C-STD-B&M-SUM': {datetime.date(2015, 7, 12): 0,
-1: 0.21484699999999998,
-2: 0.245074,
-3: 0.27874}
Run Code Online (Sandbox Code Playgroud)
预期产量:
{'C-STD-B&M-SUM': {datetime.date(2015, 7, 12): 0,
datetime.date(2015, 7, 11): 0.21484699999999998,
datetime.date(2015, 7, 10): 0.245074,
datetime.date(2015, 7, 9): 0.27874}
Run Code Online (Sandbox Code Playgroud)
目前的代码:
def change_start_date(dictionary_with_temporal_distribution):
unsw_mid_year_end_date = datetime.date(2015, 7, 12)
dictionary_with_temporal_distribution['C-STD-B&M-SUM'][unsw_mid_year_end_date] = dictionary_with_temporal_distribution['C-STD-B&M-SUM'][0]
del dictionary_with_temporal_distribution['C-STD-B&M-SUM'][0]
for k, v in dictionary_with_temporal_distribution['C-STD-B&M-SUM'].items():
Run Code Online (Sandbox Code Playgroud) 这是我的示例代码:
def clean(record):
record.pop('configurable_fields')
record.pop('applied_discounts')
record.pop('product_options')
for key, value in record.items():
if value is None:
record.pop(key)
return record
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Traceback (most recent call last):
File "C:\Users\Filipe\Dropbox\code\bigAnalysis\finalized scripts\importer.py", line 76, in <module>
process_file('allOrderProductsData')
File "C:\Users\Filipe\Dropbox\code\bigAnalysis\finalized scripts\importer.py", line 73, in process_file
process_line(line)
File "C:\Users\Filipe\Dropbox\code\bigAnalysis\finalized scripts\importer.py", line 58, in process_line
product_id = dump_record('package', clean(package)) # id of recently created record
File "C:\Users\Filipe\Dropbox\code\bigAnalysis\finalized scripts\importer.py", line 40, in clean
for key, value in record.items():
RuntimeError: dictionary changed size during iteration
Run Code Online (Sandbox Code Playgroud)
我尝试了一些我在其他线程中找到的解决方案,比如使用copy.deecopy,但到目前为止它们都没有.
我有一个生成数组的方法.我想返回这个数组,所以我可以使用另一种方法.到目前为止,这是我的代码:
public static Array[] generateFirstArray(int seedValue)
{
int[] firstArray = new int[20];
Random randomNumber = new Random(seedValue);
for (int i = 0; i < firstArray.Length; i++)
{
firstArray[i] = randomNumber.Next(0, 4);
}
return firstArray;
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,我收到以下错误:
错误1无法将类型'int []'隐式转换为'System.Array []'
我试图在firstArray之后添加[]但仍然无效.
我想在for循环中创建一个IF语句,如果变量等于列表中的任何值,我希望它被触发.
样本数据:
list = [variable1, variable2, variable3]
Run Code Online (Sandbox Code Playgroud)
现在我有这个示例代码:
for k, v in result_dict.items():
if k == 'varible1' or k == 'variable2' or k == 'variable2':
Run Code Online (Sandbox Code Playgroud)
但问题是列表会变大,我不必为每个变量创建多个OR语句.我该怎么做?