1

このリストを変換したい:

a = [['0001', '0101'], ['1100', '0011']]

に:

a' = [['1110', '1010'],['0011','1100']]

2 番目の例では、すべての文字が反対に変更されます (つまり、'1' は '0' に変更され、'0' は '1' に変更されます)。私が試したコードは次のとおりです。

for i in a:
    for j in i:
        s=list(j)
        for k in s:
            position = s.index(k)
            if k=='0':
                s[position] = '1'
            elif k=='1':
                s[position] = '0'
        ''.join(s)

しかし、それは正しく動作しません。私に何ができる?ありがとう

4

4 に答える 4

0
[["".join([str(int(not int(t))) for t in x]) for x in d] for d in a]

例:

>>> a = [['0001', '0101'], ['1100', '0011']]
>>> a_ = [["".join([str(int(not int(t))) for t in x]) for x in d] for d in a]
>>> a_
[['1110', '1010'], ['0011', '1100']]
于 2013-11-11T14:33:22.103 に答える