18

私はこのような名前空間を持っています:

名前空間(aTQ =なし、bE =なし、bEQ =なし、b =なし、bQ =なし、c =なし、c =なし、cJ =なし、d =なし、g =なし、jR = ['xx'、 ' 015']、lC =なし、l =なし)

所定の位置にある「jR」キーの「xx」値を見つけて置き換えることができるように、どのように反復することができますか?

4

1 に答える 1

21

事前に何を知っているか(名前jR、または1つの名前だけに値がある)はわかりませんが、名前空間の名前をキーとして持つdictのように、どちらnot Noneを使用してみることができます。したがって、どこかに文字列がある場合は、vars()__dict__'jR'

vars()['jR'] = vars()['jR'][0]

namespace.__dict__同様に、代わりにを使用して同じdictを取得できますvars()

['xx','015']の唯一の値として、の最初の値が残りますjR

編集:明確にするために、vars()そして__dict__両方がdictを返すので、あなたはそれらを次のように繰り返すことができます:

for k in namespace.__dict__:
    if namespace.__dict__[k] is not None:
        <<do something>>
于 2013-02-14T01:09:27.477 に答える