开发者

What's the difference between () vs [] vs {}?

What's the difference between () vs [] vs {} in Python?

They're collections? How can I tell whe开发者_开发百科n to use which?


() - tuple

A tuple is a sequence of items that can't be changed (immutable).

[] - list

A list is a sequence of items that can be changed (mutable).

{} - dictionary or set

A dictionary is a list of key-value pairs, with unique keys (mutable). From Python 2.7/3.1, {} can also represent a set of unique values (mutable).


  • () is a tuple: An immutable collection of values, usually (but not necessarily) of different types.
  • [] is a list: A mutable collection of values, usually (but not necessarily) of the same type.
  • {} is a dict: Use a dictionary for key value pairs.

For the difference between lists and tuples see here. See also:

  • Python Tuples are Not Just Constant Lists


() - tuple
[] - list
{} - dictionary

All Python tutorials should cover this. Here is a good place to start.


In addition to the tuple, list and dict given by the other answers, {} also denotes a set literal in python 2.7 and python 3.1. (This makes sense because set elements act like the keys of a dict).


To complete the other answers about {}:

If you see a = {"key1": 1, "key2": 2, "key3": 3} (keys and values), then it's a dict.

If you see a = {1, 2, 3} (values only), then it's a set.

If you see a = {} (empty), then it's a dict. An empty set is created with a = set().

Quoting the official doc:

5.4. Sets

Python also includes a data type for sets. A set is an unordered collection with no duplicate elements. Basic uses include membership testing and eliminating duplicate entries. Set objects also support mathematical operations like union, intersection, difference, and symmetric difference.

Curly braces or the set() function can be used to create sets. Note: to create an empty set you have to use set(), not {}; the latter creates an empty dictionary, a data structure that we discuss in the next section.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜