「こんにちは」を「おはよう」に置き換えるだけなら、次のようにできます。
a = [[0], ['hello','charles', 'hey', 'steve', 'hey', 0.0, 1.5, 23]]
for row in a:
for index, item in enumerate(row):
if item == "hello":
row[index] = "Good morning"
「hello」を含む文字列を本当に置き換えたい場合は、try except ブロックですべてをラップします。
a = [[0], ['hello','charles', 'hey', 'steve', 'hey', 0.0, 1.5, 23]]
for row in a:
for index, item in enumerate(row):
try:
if "hello" in item:
row[index] = "Good morning"
except TypeError:
pass
ちなみに「char」はひどい変数名です。行には長さ 1 の文字列が含まれていないため、文字ではありません。
最初の行は、実際には単一の整数を含むリストでなければなりません。なんらかの理由で本当にそうしたくない場合は、すべてを別の try/except ブロックでラップする必要があります。
a = [0, ['hello','charles', 'hey', 'steve', 'hey', 0.0, 1.5, 23]]
for row in a:
try:
for index, item in enumerate(row):
if item == "hello":
row[index] = "Good morning"
except TypeError:
pass