いくつかのリストを含むタプルがあり、2つのリストのアイテムの値を動的に交換する必要があります。たとえば、リストの名前を変更せずtuple_of_lists = (**list1**:[1,1,1],list2:[2,2,2],**list3**:[3,3,3])
に入力できる必要があり--swap x & y (1,3)--
、(**list1**:[3,3,3],list2:[2,2,2],**list3**:[1,1,1]
)の出力があります
まだPython(および一般的なコーディング)には非常に新しく、データ構造について何かが欠けていると思います。
私は次のようなものを使おうとしています:
intermediary = tuple_of_lists[1]
tuple_of_lists[1] = list(tuple_of_lists[3])
tuple_of_lists[3] = list(intermediary)
しかし、実際に変更されているのはリストだけであるにもかかわらず、タプルが割り当てを受け入れないというエラーが発生しますか?解決する簡単な方法はありますか?
タプルは不変であるため、要素を変更することはできません。ただし、リストは変更可能です。
タプルからリストを作成し、要素を交換して、リストをタプルに戻すことができます。
tuple_of_lists = ([1,1,1], [2,2,2], [3,3,3])
lt = list(tuple_of_lists) #create list from tuple
lt[2],lt[0] = lt[0],lt[2] #swap items 0 and 2
tuple_of_lists = tuple(lt) #convert to tuple
print(tuple_of_lists)
出力:
([3,3,3], [2,2,2], [1,1,1])
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加