pythonは文字列と辞書の変換を実現します。
一、文字列の内容を取り出して辞書に入れる。
流れは以下の通りです
1、文字列sを取得し、分割してs 1(リスト)を抽出する。
s="name=lyy&age=3&sex=women&boyfriend=czt"
2、s 1を分割する必要があります。s 1は4つの要素しかなく、s 1を遍歴して、「name=lyy」のような文字列、つまりs 2を取得します。
3、同じく分割によりs 2をs 3リストに分割する。
4、s 3は[name,lyy]であり、辞書のキーと値の割り当てであり、キー=s 3[0]、値=s 3[1]
コードは以下の通りです
流れは以下の通りです
1、辞書の項目を取り出して、items方法を使って、辞書のキーペアをリストs 1の各要素に変えさせます。s 1はリストです。
2、s 1の各要素を遍歴するには、まず各要素のキーと値を読み取る必要があります。即ち、key=s 1[0],value=s 1[2]
3、このときkeyとvalueはそれぞれ文字列で、「=」で接続します。
4、各等式を連結してapped方法に使用し、リストを作成して毎回接続された等式を記憶する。
5、リストのjoinメソッドを使って、&をリストに挿入します。
流れは以下の通りです
1、文字列sを取得し、分割してs 1(リスト)を抽出する。
s="name=lyy&age=3&sex=women&boyfriend=czt"
2、s 1を分割する必要があります。s 1は4つの要素しかなく、s 1を遍歴して、「name=lyy」のような文字列、つまりs 2を取得します。
3、同じく分割によりs 2をs 3リストに分割する。
4、s 3は[name,lyy]であり、辞書のキーと値の割り当てであり、キー=s 3[0]、値=s 3[1]
コードは以下の通りです
# -*- coding: utf-8 -*-
s="name=lyy&age=3&sex=women&boyfriend=czt"
d={
}
s1=s.split("&")
# print s1
for i in xrange(4):
s2=s1[i]
# print s2
s3=s2.split("=")
print s3
key=s3[0]
value=s3[1]
d[key]=value
print d
コードを改善し、改善点――直接s 2 in s 1を使用してエルゴードを実行します。
# -*- coding: utf-8 -*-
s="name=lyy&age=3&sex=women&boyfriend=czt"
d={
}
s1=s.split("&")
# print s1
for s2 in s1:
s3=s2.split("=")
print s3
key=s3[0]
value=s3[1]
d[key]=value
print d
二、辞書の内容を抽出し、文字列として保存する。流れは以下の通りです
1、辞書の項目を取り出して、items方法を使って、辞書のキーペアをリストs 1の各要素に変えさせます。s 1はリストです。
2、s 1の各要素を遍歴するには、まず各要素のキーと値を読み取る必要があります。即ち、key=s 1[0],value=s 1[2]
3、このときkeyとvalueはそれぞれ文字列で、「=」で接続します。
4、各等式を連結してapped方法に使用し、リストを作成して毎回接続された等式を記憶する。
5、リストのjoinメソッドを使って、&をリストに挿入します。
# -*- coding: utf-8 -*-
d={'age': '3', 'boyfriend': 'czt', 'name': 'lyy', 'sex': 'women'}
s1=d.items()
lst=[]
print s1
for i in xrange(4):
s2=s1[i]
print s2
key=s2[0]
value=s2[1]
print key
print value
s3=key+"="+value
print s3
lst.append(s3)
print lst
print "&".join(lst)
同じようにステップを簡略化して、循環内の語句はこう書きます。
for s2 in s1:
key=s2[0]
value=s2[1]
s3=key+"="+value
lst.append(s3)
s 2の中の対応は二つの要素です。簡略化:
for s2 in s1:
key,value=s2
s3=key+"="+value
lst.append(s3)
s 2は同様に省略することができますが、上述のkeyとvalue接続依存s 2は、文字列にフォーマットして出力することができます。
# -*- coding: utf-8 -*-
d={'age': '3', 'boyfriend': 'czt', 'name': 'lyy', 'sex': 'women'}
s1=d.items()
lst=[]
for key,value in s1:
s3="%s=%s"%(key,value)
lst.append(s3)
print "&".join(lst)
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。