Pythonにおける可変オブジェクトの扱い:デフォルト引数とリストの複製に潜む罠

関数におけるデフォルト引数の評価タイミング Pythonでよく遭遇する落とし穴の一つに、関数のデフォルト引数としてリストなどのミュータブル(可変)なオブジェクトを指定してしまうことがあります。以下の関数 collect_data を例に見てみましょう。 def collect_data(value, container=[]): container.append(value) return container この関数を、特定のリス ...

9月5日 03:41 投稿

Javaにおけるコレクション(List, Set, Map)の反復処理技法

モデルクラスの準備 コレクション操作の実装例を示すために、まず処理対象となるエンティティクラスを定義します。ここでは識別子と階級を持つ Agent クラスを使用します。 public class Agent { private String codename; private int rank; public Agent(String codename, int rank) { this.codename = codename; this.rank = rank; } ...

9月2日 21:48 投稿

Pythonの基本データ型入門

主要な組み込みデータ型 Python 3では、以下の6つの標準的なデータ型が用意されています。 Number:数値型 String:文字列 List:リスト Tuple:タプル Set:集合 Dictionary:辞書 変更可能と変更不可能の違い 変更不可能型(3種):Number、String、Tuple 変更可能型(3種):List、Dictionary、Set Number(数値型) Python 3では、int、float、b ...

8月15日 00:54 投稿

Javaコレクションフレームワークの基礎: List, Map, Set

前回はJavaの三大特性(カプセル化、継承、ポリモーフィズム)について復習しました。今回はコレクションフレームワークを解説します。 コレクションの概要 Javaの開発では、基本データ型やStringオブジェクトに加えて、コレクション関連のクラスを頻繁に利用します。コレクションクラスはオブジェクト自体ではなく、オブジェクトへの参照を格納します。本記事では説明の ...

7月22日 04:09 投稿

Pythonの変数、コンテナ、真偽値、展開アサインの実践ガイド

変数・メモリ管理の再確認 Pythonで状態を表現する「変数」は「名前」と「値」のペアで構成される。名前は意味を持ち、英数字とアンダースコアのみ使用し数字で始めてはならない。定数は慣習的に変更しないものだが、実際には変更可能である。 値は参照カウントで管理され、0になるとガベージコレクションが解放する。起動時に[-5,256]の整数は固定アドレスで共有される小 ...

7月14日 00:20 投稿

C++におけるvectorとlistの違い

vectorとlistはC++標準テンプレートライブラリ(STL)で提供されるコンテナであり、それぞれ異なる特性を持っています。ここではそれらの主な違いを説明します。 メモリ構造 list: 双方向リストとして実装されており、メモリ領域は非連続です。 長所: 挿入や削除が効率的です。データの移動は不要で、ポインタの変更のみで処理が可能です。 ...

7月4日 20:51 投稿

Javaで2つのリストの同等性を評価する

Javaで2つのリストが同等であるかどうかを判断することは、一般的なタスクです。リストの内容が完全に一致するかどうかを確認したい場合や、順序を問わずに要素が同じであるかどうかだけを知りたい場合があります。ここでは、Javaで2つのリストの同等性を評価するいくつかの方法を、コード例とともに紹介します。 問題定義 2つのリストがあり、それらが同等であるかを判断 ...

6月28日 16:03 投稿

Pythonのリストとタプルの基本操作

リストの作成と基本操作 リストはPythonで最もよく使われるデータ構造の一つです。以下のようにさまざまな方法で作成できます。 items = ['apple', 'banana', 'orange'] print(items) # 文字列からリストを作成 chars = list('programming') numbers = list(range(2, 15, 4)) # 2から15まで、ステップ4(15を含まない) print(chars) print(numbers) # リストの結合と ...

6月24日 16:31 投稿

Pythonリストの基本操作と使い方

要素の検索と確認 index(x) は、リスト内で最初に見つかった値 x のインデックスを返します。 items = ['apple', 'banana', 'cherry'] print(items.index('banana')) # 出力: 1 count(x) は、リスト内に含まれる値 x の出現回数を返します。 values = [1, 2, 2, 3, 2, 4] print(values.count(2)) # 出力: 3 in 演算子は、指定した要素がリストに存在するかどうかを真 ...

6月16日 23:53 投稿

Pythonの基本データ型と操作手法

文字列(str)の取り扱い 文字列はシーケンス型に分類され、連続したメモリ領域に格納された複数の文字から構成されます。各文字にはインデックス(添字)が割り当てられ、位置を指定してアクセス可能です。 負のインデックスの使用 Pythonでは、末尾からの参照を可能にする負のインデックスがサポートされています。たとえば、-1は最後の要素を指します。 s = "python s ...

6月4日 20:01 投稿