私は比較的新しいPythonを使用しており、次の作業を行うのに苦労しています。現在、私はタプルのリストを持っています(list_one
より大きいこれらのタプル内の要素は1です)タプルと2)文字列(これらの文字列は常に'A'
または'B'
の2つの値のいずれかです('D'
。タプルのリストからタプル要素を結合する。タプル要素はタプルとリストです
list_one = [(('id1', ['v1', 'v2']), 'A'), (('id2', ['v3', 'v4', 'v5', 'v6']), 'A'), (('id3', ['v11']), 'B'), (('id4', ['v12', 'v13']), 'B'), (('id5', ['v14', 'v16']), 'B'), (('id6', ['v17', 'v18', 'v21']), 'A')]
:または'Z'
、または任意の他の二つの文字列)の内側タプルは'id'
と値(文字列)のlist
が含まれます
new_list1 = [('id1',['v1', 'v2', 'v3', 'v4', 'v5', 'v6']), ('id3',['v11', 'v12', 'v13', 'v14', 'v16']), ('id6',['v17', 'v18', 'v21'])]
文字列の値(A、B)が変更されると、最初の要素がA、Bが変更される最初の要素のIDであり、2番目の要素が初期リスト内の値( "v")のリストである新しいタプルを作成する必要があります。辞書が有効な場合のリスト:
new_list2 = [{'id1': ['v1','v2', 'v3', 'v4', 'v5', 'v6']}, {'id3':['v11', 'v12', 'v13', 'v14', 'v16']}, {'id6':['v17', 'v18', 'v21']}]
どのようなガイダンスもありがとうございます。
編集:
s = list_one[0][1]
for tup in list_one:
if s in tup:
new_list.extend(tup[0][1])
else:
new_list.append(tup[0][1])
が与える:
これは "のリストで、1「」値の周りのリストを作成して、私が探しているものを実際にはない['v1', 'v2', 'v3', 'v4', 'v5', 'v6', ['v11'], ['v12', 'v13'], ['v14', 'v16'], 'v17', 'v18', 'v21']
B '内部にある。
私たちにあなたのコードを表示してください... –
Welcome to Stackoverflow!状態を正確に記入してください:a)あなたがこれまでに試していることは何ですか?(**完全な証明可能な例**を表示してください)b)どこがつまっていますか? – SuperSaiyan
ああ、ちょうどあなたのコメントを見ました。ありがとうSuperSaiyan;)正直言って、私はこの特定の問題をどう扱うかについては全くわかりません。私は多くのことを試しました。メインポストの編集。非常に難しい問題のようには見えませんが、どういうわけか、1)同じリスト内に同じ「id」を持つ隣接する「v」を取得してから、新しいリストを作成する2番目の「id」の「v」が付いています。 – PDavis