/ /間違ったリストの理解を行う - python、list-comprehension

間違ったリストの理解を行う - python、リストの理解

私は文脈の中でできることができるリストの理解のあらゆる反復を試みてきました。

私はデータベースから電話を受けて、それをリストに変換しています [["item", long integer]].

長い整数を通常の整数に変換したいのは、残りの計算が正規の積分であるためです。

私はこれを試しています:

catnum = c.fetchall()
catnum = [list(x) for x in catnum]
for x in catnum:
[int(y) for y in x]

私はx [1]や他のいくつかのものを試しました(リストの中では常にポジション1にあります)

運がない。リスト内の2番目の値だけを通常の整数に変換するにはどうすればよいですか?

回答:

回答№1は2

これは機能しますか?

catnum=[[x,int(y)] for x,y in catnum]

しかし、私は、なぜあなたがする必要があるのか​​を尋ねる価値があると思いますこの変換。 Pythonは、通常の整数が動作するところであればどこでも長い整数を処理する必要があります。 long intsとしてそれらを残すことに若干のパフォーマンス上の不利益がありますが、ほとんどの場合、通常の整数に変換する余分な作業を正当化するとは思っていません。

EDIT コメントを読んでいる人のために、私の最初の答えは間違っていて、リストの理解が含まれていませんでした。それはCatnumの要素を突然変異させることに頼っていましたが、これらの要素はタプル内にあるので、変更することはできません。


回答№2の場合は1
[[x[0],int(x[1])] for x in catnum]

これはリストのリストを返します。名前の最初のエントリは2番目のエントリは通常の整数にキャストされた値です。