美文网首页
python 列表元组字典基础

python 列表元组字典基础

作者: malingxin | 来源:发表于2017-06-11 16:00 被阅读0次

python 列表元组字典基础

序列是python中最基础的数据结构,序列中的每个元素都分配一个数字,它的位置,或索引,第一个是从0开始,第二个是1,以此类推。

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

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

此外,python已内置确定序列的长度以及确认最大MAX和最小MIN的元素方法

列表

列表,它作为一个方括号[]内的逗号分割值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

list1 = ['Google', 'Runoob', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];

与字符串的索引一样,列表索引从0开始。

访问列表中的值
list2 = [1, 2, 3, 4, 5, 6, 7 ];

print("list2[0]=",list2[0])
>>> list2[0]=1

元组

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

tup1 = ('Google', 'Runoob', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";   #这种方式也可以创建元组
tup4 = (); #创建空元组

读取元组中的数据与列表相等。

字典

字典是另一种可变容器模型,且可存储任意类型对象。
字段的每个键值(key=>value)对应冒号(:)分隔,每个对之间用逗号(,)分割,整个字典包括在花括号{}

d = {key1 : value1, key2 : value2 }

key必须是唯一,但是值不必
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
简单的字典实例:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };
访问字典里的值
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])

dict['Name']:  Runoob
dict['Age']:  7
修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

dict['Age'] = 8;               # 更新 Age
dict['School'] = "菜鸟教程"  # 添加信息
删除字典元素

del即可。可以删除整个字典,也可以删除字典的某个数据。

del dict['Name'] # 删除键 'Name'
dict.clear()     # 删除字典
del dict         # 删除字典
字典键的特性

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:

dict = {'Name': 'Runoob', 'Age': 7, 'Name': '小菜鸟'}
print ("dict['Name']: ", dict['Name'])
>>> dict['Name']:  小菜鸟

2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行

字典内置函数&方法
  1. len(dict)
    计算字典元素个数,即键的总数。
  2. str(dict)
    输出字典,以可打印的字符串表示。
  3. type(variable)
    返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置方法:
序号 函数及描述

  1. radiansdict.clear()
    删除字典内所有元素
  2. radiansdict.copy()
    返回一个字典的浅复制
  3. radiansdict.fromkeys()
    创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
  4. radiansdict.get(key, default=None)
    返回指定键的值,如果值不在字典中返回default值
  5. key in dict
    如果键在字典dict里返回true,否则返回false
  6. radiansdict.items()
    以列表返回可遍历的(键, 值) 元组数组
  7. radiansdict.keys()
    以列表返回一个字典所有的键
  8. radiansdict.setdefault(key, default=None)
    和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
  9. radiansdict.update(dict2)
    把字典dict2的键/值对更新到dict里
  10. radiansdict.values()
    以列表返回字典中的所有值

列表、元组和字典的操作

删除

可以使用 del 语句来删除列表的的元素,如下实例:

list = ['Google', 'Runoob', 1997, 2000]

del list[2]
print ("删除第三个元素 : ", list)
---以上实例输出结果:
删除第三个元素 :  ['Google', 'Runoob', 2000]

元组中的元素是不允许删除的,但是可以del整个元组

tup = ('Google', 'Runoob', 1997, 2000)
del tup;

删除后元组实例会被删除,所以print的时候会报错。

索引,截取

L=['Google', 'Runoob', 'Taobao']
| python表达式 | 结果| 描述 |
| :-------- | --------:| :------: |
| L[2] | 'Taobao' | 读取第三个元素,因为0,1,2 |
| L[-2]| 'Runoob'|从右到左开始读取第二个元素|
| L[1:]| ['Runoob', 'Taobao']|从第二个序号开始输出所有元素|

因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素.使用方式跟上表格相等。

内置函数

len(tuple),len(list)

计算个数。

>>> tuple1 = ('Google', 'Runoob', 'Taobao')
>>> len(tuple1)
3
# list 相等
max(tuple),max(list)

返回最大值。

>>> tuple2 = ('5', '4', '8')
>>> min(tuple2)
'4'
### list相等 
列表转换元组,元组转换列表

tuple(seq)
将列表转换为元组。
list(seq)
将元组转换为列表

>>> list1= ['Google', 'Taobao', 'Runoob', 'Baidu']
>>> tuple1=tuple(list1)
>>> tuple1
('Google', 'Taobao', 'Runoob', 'Baidu')
拼接
>>> squares = [1, 4, 9, 16, 25]
>>> squares + [36, 49, 64, 81, 100]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

>>> a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
# 元组相等
运算符

与字符串一样,列表和元组都可以使用 + 号和 * 号进行运算。

  • 号用于组合列表,* 号用于重复列表。
Col1 Col2 Col3
len((1, 2, 3)) 3 计算元素个数,长度
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 连接,组合
('Hi!',) * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') 复制,重读
3 in (1, 2, 3) True 元素是否存在
for x in (1, 2, 3): print x, 1 2 3 迭代

如果是列表的,记得改成括号[]

基础的先做这些笔记,关于列表的操作还有复杂的,可以在菜鸟教程中详细看一遍。

相关文章

网友评论

      本文标题:python 列表元组字典基础

      本文链接:https://www.haomeiwen.com/subject/iabhqxtx.html