私はリストl = ['1','2','3','rt4','rt5']
を持っています。 int型の数値を変換し、そのまま残ります。整数部分をintに変換し、文字列をそのまま保持する
所望の出力:)ORD(:
m = [1, 2, 3, 'rt4', 'rt5']
私はそれが私に次のエラー 」はTypeErrorを得、以下のように
ORD(M [ 'RT4'])
を試し文字を期待しますが、長さ3の文字列は」
私はリストl = ['1','2','3','rt4','rt5']
を持っています。 int型の数値を変換し、そのまま残ります。整数部分をintに変換し、文字列をそのまま保持する
所望の出力:)ORD(:
m = [1, 2, 3, 'rt4', 'rt5']
私はそれが私に次のエラー 」はTypeErrorを得、以下のように
ORD(M [ 'RT4'])
を試し文字を期待しますが、長さ3の文字列は」
それが必要な作品が見つかりました:
を3210l = ['1','2','3','rt4','rt5']
def reformater(din):
try:
return int(din)
except Exception:
return din
s = [reformater(i) for i in l]
組み込みのint()
関数を使用すると、文字列を整数に変換できます。入力文字列が有効な整数でない場合、この関数は例外をスローします。その場合は、try..catch
statementを使用して未変更の入力を返すことができます。
l = ['1','2','3','rt4','rt5']
def try_to_int(s):
try:
return int(s)
except:
return s
m = [try_to_int(it) for it in l]
print(m)
int()
は、しかし、あなたが望むよりも有効な整数としてより多くのフォーマットを受け入れる可能性があるので、あなたはまた、明示的に整数を検証することができます。
ありがとう@millimoose。これは私を助けた – maverick
def RepresentsInt(s):
try:
int(s)
return True
except ValueError:
return False
l=['1','2','3','rt4','rt5']
l=[int(l[i]) if RepresentsInt(l[i]) else l[i] for i in range(0,len(l))]
intをチェックする機能です。
OR
l=['1','2','3','rt4','rt5']
l=[int(i) if i.isdigit() else i for i in l]
だけ()組み込み関数をisdigitを使用。
質問の下に[編集]ボタンがあります。追加情報であなたの質問を編集してください。 –
あなたが編集している間に、あなたが試したこととその問題が[mcve]のように正確に示されるべきです。 – jonrsharpe