Python中list,tuple,dict,set的区别和用法
python语言简洁明了,可以用较少的代码实现同样的功能。这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set。这里对他们进行一个简明的总结。
列表,元组,集合、字典的区别
列表 | 元组 | 集合 | 字典 | |
---|---|---|---|---|
英文 | list | tuple | set | dict |
可否读写 | 读写 | 只读 | 读写 | 读写 |
可否重复 | 是 | 是 | 否 | 是 |
特点 | 有序 | 有序 | 无序 | 无序(自动正序) |
存储方式 | 值 | 值 | 键(不可重复) | 键值对(不能重复) |
初始化 | [1,‘a’] | (1,‘a’) | {1,2}或set([1,2]) | {‘a’:1,‘b’:2} |
添加 | append or insert | 只读 | add | d[‘key’]=‘value’ |
读元素 | l[2:] | t[0] | 无 | d[‘a’] |
list(列表)
语法:
列表形如 [1,2,3,4]、 [‘小明’, ‘小红’, ‘小宇’]
中括号括起来,里面有多个元素(项),项可以数字、字符串、布尔,每一项逗号分隔。
字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List:
L = [99, 'china', 'names']
可以看到并不要求元素的类型都是一样的。 也可以定义一个空列表
L = []
Python中的List是有序的,所以要访问List的话显然要通过序号来访问,就像是数组的下标一样,一样是下标从0开始:
>>> print L[0]
99
列表不要越界,否则会报错。
>>>L[3]
Traceback (most recent call last):
File "<input>", line 1, in <module>
IndexError: list index out of range
访问
1.通过下标(搜索 index)访问。
列表中的项 0,1,2…表面、编号,比如[1,2,3]中的元素1的下标是0。
>>>list1 = [1,2,3]
>>>list1[0]
[1]
>>>list1[-1]
3
下标负数表示倒数第几项
2. 遍历,访问列表中每一项
for i in ['小米','小红','小明']:
print(i)
- 遍历,循环下标。场景 修改。
len(列表对