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)键必须不可变,所以可以用数字,字符串或元组
充当,而用列表
就不行
字典内置函数&方法
- len(dict)
计算字典元素个数,即键的总数。 - str(dict)
输出字典,以可打印的字符串表示。 - type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。
Python字典包含了以下内置方法:
序号 函数及描述
- radiansdict.clear()
删除字典内所有元素 - radiansdict.copy()
返回一个字典的浅复制 - radiansdict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 - radiansdict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值 - key in dict
如果键在字典dict里返回true,否则返回false - radiansdict.items()
以列表返回可遍历的(键, 值) 元组数组 - radiansdict.keys()
以列表返回一个字典所有的键 - radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default - radiansdict.update(dict2)
把字典dict2的键/值对更新到dict里 - 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 | 迭代 |
如果是列表的,记得改成括号[]
基础的先做这些笔记,关于列表的操作还有复杂的,可以在菜鸟教程中详细看一遍。
网友评论