浏览量: 370 次浏览

python中list tuple dict用法

2020年2月15日 2 作者 Nie Hen

列表 list

l = []

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 – 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
如下所示:

  • 列表的内容可变,可以包含任意对象,使用中括号表示。
  • 元组的内容不可变,可以包含任意对象,使用圆括号表示。

  • l = [1, 2, 3, ‘4’, ‘5’] # 列表

  • l = list((1, 2, 3, ‘4’, ‘5’))
  • t = (1, 2, 3, ‘4’, ‘5’) # 元组
  • t = tuple(“1234”)
list常用方法
  1. list(s)
    将s转化为一个列表
    s.append(x)
    将新元素x加到S的尾部

  2. s.extend(t)
    将新列表t加到s的尾部

  3. s.count(x)
    计算x出现的次数

  4. s.index(X)
    搜索X元素 返回的是X所在的索引

  5. s.insert(i,x)
    在i处添加x

  6. s.pop([i])
    弹出第i个元素,如果省略i弹出最后一个 并删除

  7. s.remove(x)
    移除x

  8. s.reverse(x)
    反转列表

  9. s.sort([key[reverse]])
    排序 如果括号里面没有参数是对 s排序

  10. cmp(list1, list2)
    比较两个列表的元素

  11. len(list)
    列表元素个数

  12. max(list)
    返回列表元素最大值

  13. min(list)
    返回列表元素最小值

  14. list(seq)
    将元组转换为列表

切片用法

L = [‘Google’, ‘Runoob’, ‘Taobao’]
表达式| 结果| 描述
| — |— |— |— |
L[2] |’Taobao’ |读取列表中第三个元素
L[-2]| ‘Runoob’ |读取列表中倒数第二个元素
L[1:] |[‘Runoob’, ‘Taobao’] |从第二个元素开始截取列表

元祖 tuple

t = ()

Python的元组与列表类似,不同之处在于元组的元素不能修改
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

元组中只包含一个元素时,需要在元素后面添加逗号

  • tup1 = (‘physics’, ‘chemistry’, 1997, 2000)
  • tup2 = (1, 2, 3, 4, 5 )

修改元祖

  • tup1 = (12, 34.56)
  • tup2 = (‘abc’, ‘xyz’)

以下修改元组元素操作是非法的。
tup1[0] = 100

创建一个新的元组
tup3 = tup1 + tup2

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
del tup

内置函数

1 cmp(tuple1, tuple2)
比较两个元组元素。
2 len(tuple)
计算元组元素个数。
3 max(tuple)
返回元组中元素最大值。
4 min(tuple)
返回元组中元素最小值。
5 tuple(seq)
将列表转换为元组。
同样可以使用切片和list一样

字典 dict

d = {key1 : value1, key2 : value2 }

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

字典键的特性

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行

修改dict

dict = {‘Name’: ‘Zara’, ‘Age’: 7, ‘Class’: ‘First’}

dict[‘Age’] = 8 # 更新
dict[‘School’] = “RUNOOB” # 添加
del dict[‘Name’] # 删除键是’Name’的条目
dict.clear() # 清空词典所有条目
del dict # 删除词典

字典内置函数&方法

Python字典包含了以下内置函数:

1 cmp(dict1, dict2)
比较两个字典元素。
2 len(dict)
计算字典元素个数,即键的总数。
3 str(dict)
输出字典可打印的字符串表示。
4 type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置方法:

1 dict.clear()
删除字典内所有元素

2 dict.copy()
返回一个字典的浅复制

3 dict.fromkeys(seq[, val])
创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值

4 dict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值

5 dict.has_key(key)
如果键在字典dict里返回true,否则返回false

6 dict.items()
以列表返回可遍历的(键, 值) 元组数组

7 dict.keys()
需要加上list(dict.keys()) 返回的才是列表

8 dict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

9 dict.update(dict2)
把字典dict2的键/值对更新到dict里

10 dict.values()
以列表返回字典中的所有值

11 pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

12 popitem()
随机返回并删除字典中的一对键和值。