如果我编码这样的字符串:
var escapedString = originalString.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
Run Code Online (Sandbox Code Playgroud)
它不会逃避斜线/.
我搜索并找到了这个Objective C代码:
NSString *encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL,
(CFStringRef)unencodedString,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8 );
Run Code Online (Sandbox Code Playgroud)
是否有更简单的方法来编码URL,如果没有,我如何在Swift中编写它?
当我打开新的Xcode 9并转到Preferences > Components我看不到下载iOS 11模拟器的选项.我100%确定我拥有最新的Xcode 9 beta 4
我做了一些研究,发现Xcode下载了一个索引,以确定它能够下载什么.对我来说是:https: //devimages-cdn.apple.com/downloads/xcode/simulators/index-9.0.0-CA351AD8-3176-41CB-875C-42A05C7CDEC7.dvtdownloadableindex
基本上,通过确定DTXcoce,可以将它用于任何Xcode版本:
defaults read /Applications/Xcode-beta.app/Contents/Info DTXcode.
结果0900必须转换为9.0.0
和DVTPlugInCompatibilityUUID:
defaults read /Applications/Xcode-beta.app/Contents/Info DVTPlugInCompatibilityUUID
然后下载:https://devimages-cdn.apple.com/downloads/xcode/simulators/index-<the DTXcode>-<the UUID>.dvtdownloadableindex.
最后为了能够打开它: plutil -convert xml1 <the downloaded .dvtdownloadableindex file>
有人可以验证我有正确的dvtdownloadableindex吗?或者提供正确版本的网址?否则我希望有人可以通过下载和取消模拟器提供完整模拟器包的URL,同时console.app在本文中查找
当有这样的 Pandas DataFrame 时:
import pandas as pd
import numpy as np
df = pd.DataFrame({'today': [['a', 'b', 'c'], ['a', 'b'], ['b']],
'yesterday': [['a', 'b'], ['a'], ['a']]})
Run Code Online (Sandbox Code Playgroud)
today yesterday
0 ['a', 'b', 'c'] ['a', 'b']
1 ['a', 'b'] ['a']
2 ['b'] ['a']
... etc
Run Code Online (Sandbox Code Playgroud)
但是有大约 100 000 个条目,我希望在两列中逐行找到这些列表的添加和删除。
它类似于这个问题:Pandas: How to Compare Columns of Lists of List Row-wise in a DataFrame with Pandas (not for loop)? 但我正在研究差异,Pandas.apply对于这么多条目,方法似乎并没有那么快。这是我目前使用的代码。Pandas.apply用numpy's setdiff1d方法:
additions = df.apply(lambda row: np.setdiff1d(row.today, row.yesterday), …Run Code Online (Sandbox Code Playgroud)