我正在使用堆栈,我想分割'push'值。总体而言,这恰好只是一个元组中的列表。我得到了(作为输出):
('_stack_', ['data inside the stack'])
我正在寻找这个:
('_stack_',['data','inside','the','stack])
我尝试了一下,但是它抛出了一个错误(注意:“ Stack”是引用上面输出的变量):
for i in Stack:
Stack[1].split()
如果有人可以帮我,即使是堆栈,我也认为遍历元组和列表的基本原理仍然成立吗?感谢您的帮助!
答案 0 :(得分:1)
只需创建一个具有所需值的新元组,如下所示:
private ScanCallback mScanCallback = new ScanCallback() {
@Override
public void onScanResult(int callbackType, ScanResult result) {
Log.i("ScanCallback", String.format("onScanResult(int callbackType[%d], ScanResult result)", callbackType));
final BluetoothDevice btDevice = result.getDevice();
if (btDevice == null){
Log.e("ScanCallback", "Could not get bluetooth device");
return;
}
final String macAddress = btDevice.getAddress();
if (callbackType == ScanSettings.CALLBACK_TYPE_MATCH_LOST) {
// NOTE: I've never got here
final BluetoothDevice outOfRangeDevice = mBtDevices.get(macAddress);
...
} else {
...
}
}
...
};
现在t = ('_stack_', ['data inside the stack'])
nt = (t[0], t[1][0].split())
符合预期:
nt
答案 1 :(得分:0)
只是提示,不是完整答案-也许是完整答案,因为您的主要问题似乎是无法拆分字符串。...:您正在尝试拆分列表,需要拆分字符串。 元组是不可变的,因此您需要转换为列表并返回到元组,或从原始元组元素创建新元组
splitted_list = ('_stack_', ['data inside the stack'])[1][0].split()
答案 2 :(得分:0)
一个衬里使用列表理解来创建新的元组
tuple([i[0].split() if isinstance(i,list) else i for i in your_tuple])
输出
('_stack_', ['data', 'inside', 'the', 'stack'])