如何在元组中拆分列表?

时间:2019-02-06 20:47:39

标签: python list tuples

我正在使用堆栈,我想分割'push'值。总体而言,这恰好只是一个元组中的列表。我得到了(作为输出):

('_stack_', ['data inside the stack'])

我正在寻找这个:

('_stack_',['data','inside','the','stack])

我尝试了一下,但是它抛出了一个错误(注意:“ Stack”是引用上面输出的变量):

for i in Stack: 
    Stack[1].split()

如果有人可以帮我,即使是堆栈,我也认为遍历元组和列表的基本原理仍然成立吗?感谢您的帮助!

3 个答案:

答案 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'])