SunRichSan
@SunRichSan

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

list の要素の置き換え

python listの要素の置き換えをしようとしています。

value1 = ['A','B','B','B','B','A','A','A','A','B','A','A','A','A','A','A','B', 'B','B', 'A', 'A']
value1v= ['B' if x=='A' else 'A' for x in value1 ]
print(value1)
print(value1v)
print('')
value2 = ['A','B','B','B','B','A','B','B','A','B','A','A','B','A','A','B','B', 'A','B', 'A', 'A']
value2v= ['B' if x=='A' else 'A' for x in value1 ]
print(value2)
print(value2v)

結果は以下のようになっています。

['A', 'B', 'B', 'B', 'B', 'A', 'A', 'A', 'A', 'B', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'A', 'A']
['B', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'A', 'A', 'A', 'B', 'B']

['A', 'B', 'B', 'B', 'B', 'A', 'B', 'B', 'A', 'B', 'A', 'A', 'B', 'A', 'A', 'B', 'B', 'A', 'B', 'A', 'A']
['B', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'A', 'A', 'A', 'B', 'B']

問題は,value2のいくつかの'B'がそのままvalue2vで'B'のまま出てきていることです。

'A'に変換されているものもありますので、内包表記に問題はないと思います。

環境は:

import sys
print(f'python:{sys.version}')
print(f'numpy :{np.__version__}')
python:3.9.12 (main, Apr  4 2022, 05:22:27) [MSC v.1916 64 bit (AMD64)]
numpy :1.21.5

よろしくお願い致します。

0

1Answer

Comments

  1. @SunRichSan

    Questioner

    ご指摘ありがとうございます。
    言われてみれば、その通りでした。
    でも、前に進めます。ありがとうございます。

Your answer might help someone💌