python数据类型——列表、元组、字典、文件

一、列表和元组

python提供了两个可保存大量数据的类型:列表和元组
1.1 创建和操作列表

列表是以方括号“[]”包围的数据集合,不同成员间以“,”分隔,列表中可以包含任何数据类型,当然也可以包含列表,列表可以通过序号来访问其中的成员,在脚本中可以实现对列表进行排序,添加。删除等操作,以改变列表中某一成员的值。

列表操作描述
list.append()追加成员
list.count(x)计算列表中参数x的出现次数
list.extend(L)向列表中追加另一个列表L
list.index(x)获得参数x在列表中的位置
list.insert()向列表中插入数据
list.pop()删除列表中最后一个值,并返回被删除的值
list.remove()删除列表中的成员
list.reverse()将列表中成员的顺序颠倒
list.sort()对列表成员进行排序
在python,除了可以使用上表的操作外,还可以使用类似于字符串的分片和索引操作列表。
简单示例
>>> list = []             //定义一个空列表
>>> list.append(1)     //向列表追加1
>>> list.count(2)        //查看2的个数
0
>>> list.extend([2,3,4,5])  //追加另一个列表
>>> list
[1, 2, 3, 4, 5] 
>>> list.index(3)         //获得3所在位置
2
>>> list.insert(2,6)       //在列表第三个位置处插入数据6
>>> list
[1, 2, 6, 3, 4, 5]
>>> list.pop()           //删除列尾元素5,默认删除尾部元素
5
>>> list
[1, 2, 6, 3, 4]
>>> list.pop(2)         //删除列表第三个位置元素
6
>>> list 
[1, 2, 3, 4]
>>> list.remove(4)      //删除列表元素4
>>> list
[1, 2, 3]
>>> list.reverse()         //将列表数据元素倒序
>>> list
[3, 2, 1]
>>> list.sort()             //正序
>>> list
[1, 2, 3]
1.2 创建和操作元组

元组的特性与列表基本相同,元组是以圆括号“()”包围的数据集合。与列表不同的是,元组中的数据,一旦确定就不能修改,元组可以使用在不希望数据被其他操作改变的场合。
因为其内容不能被改变,因此不能使用列表的一些改变操作的函数,只能对其使用分片和索引操作。

简单示例

(紧接上面列表操作)

>>> tuple = ( 'a','b','c' )   //定义一个元组
>>> list.insert(3,tuple)     //列表中插入元组
>>> list
[1, 2, 3, ('a', 'b', 'c')]
>>> list[3]                    //使用索引查看第四个元素
('a', 'b', 'c')
>>> list[1:3]                 //分片
[2, 3] 
>>> tuple[1:-1]             //分片
('b',)
>>> tuple.count('a')        //查看a的个数
1

定义一个含有一个元素的元组

>>> t = (1)
>>> t
1

## 定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。
所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:

>>> t = (1,)
>>> t
(1,)

二、字典

字典是python中一个比较特殊的数据类型,一大括号“{}”包围的数据集合,字典与列表最大的不同在于字典是无序的,在字典中通过键来访问成员。
与列表相似,字典也是可变的,可以包含任何其他类型,字典中成员的位置是象征性的,并不能通过其位置来访问成员,字典中的成员以“键:值”的形式声明。

在这里插入图片描述
在这里插入图片描述
定义字典的几种方式:

>>> a = {"one":1,"two":2,"three":3}
>>> print(a)
{'one': 1, 'two': 2, 'three': 3}
>>> b = dict(one=1,two=2,three=3)
>>> print(b)
{'one': 1, 'two': 2, 'three': 3}
>>> c = dict(zip(["one","two","three"],[1,2,3]))
>>> print(c)
{'one': 1, 'two': 2, 'three': 3}
>>> c = dict(zip(["one","two","three"],[1,2]))    ## 这里给了三个键值,但是只有两个值,所以第三个键值不起作用,所以键值与值必须成对出现。
>>> print(c)
{'one': 1, 'two': 2}
>>> d = dict([("one",1),("two",2),("three",3)])
>>> print(d)
{'one': 1, 'two': 2, 'three': 3}
>>> e = dict({"one":1,"two":2,"three":3})
>>> print(e)
{'one': 1, 'two': 2, 'three': 3}

关于字典的函数 :

字典操作描述
dic.clear()清空字典
dic.copy()复制字典
dic.get(k)获得键k的值
dic.has_key(k)是否包含键k
dic.items()获得由键和值组成的列表
dic.keys()获得键的列表
dic.values()获得值的列表
dic.pop(k)删除键
dic.update()更新成员
简单示例
>>> dic = { 'apple':2, 'orange':1}    //定义一个字典
>>> dic.copy()                         //复制字典
{'apple': 2, 'orange': 1}
>>> dic
{'apple': 2, 'orange': 1}
>>> dic['banana'] = 5      //增加一项
>>> dic
{'apple': 2, 'orange': 1, 'banana': 5}
>>> dic.items()          //获取列表
dict_items([('apple', 2), ('orange', 1), ('banana', 5)])
>>> dic.pop('apple')    //通过键值删除,并返回其值
2
>>> dic
{'orange': 1, 'banana': 5}
>>> dic.keys()                 //获取键的列表
dict_keys(['orange', 'banana']) 
>>> dic.values()               //获取值的列表
dict_values([1, 5])
>>> dic.update({'banana':3})  //更新键值
>>> dic/
{'orange': 1, 'banana': 3}
>>> dic['orange']             //通过键获取值
1
>>> dic.clear()                //清空字典
>>> dic
{}

zip 函数
在这里插入图片描述

>>> b = zip([1,2,3],[1,2,3])
>>> print(b)
<zip object at 0x00F51878>   # 返回的是一个对象,内存中的地址。
>>> list(b)
[(1, 1), (2, 2), (3, 3)]

三、文件

文件也可以看作是python的数据类型,当使用python内置函数open打开一个文件后,就返回一个文件对象。
原型 open (filename, mode, bufsize)
参数含义:

  • filename : 要打开的文件名
  • mode:可选参数,文件打开模式( r:只读,w:写操作,b:二进制))
  • bufsize:可选参数,缓冲区大小
文件操作描述
file.read()将整个文件读入字符串中
file.readline()读入文件一行到字符串中
file.readlines()将整个文件按行读入到列表中
file.write()向文件写入字符串
file.writelines()向文件中写入一个列表
file.close()关闭打开文件
简单示例
>>> file=open("C:\\Users\\lenovo\\Desktop\\two.txt" ,'w')    //打开一个文件,这里我放在桌面上,文件内容空白
>>> file.write('python\n')           //向文件中写入字符
7
>>> a = []            //定义空列表
>>> for i in range(10):   //循环向列表中添加字符
...       s = str(i) + "\n"
...       a.append(s)
...
>>> file.writelines(a)    //将列表写入文件
>>> file.close()     //关闭文件
>>> file=open("C:\\Users\\lenovo\\Desktop\\two.txt" ,'r')    //重新以读方式打开文件
>>> s = file.read()      //读取整个文件
>>> print(s)     //打印字符串
python
0
1
2
3
4
5
6
7
8
9
>>> file.close()     //关闭文件
## 关闭文件,然后用readlines读取文件
##如果不关闭文件,则读取内容为空,因为文件内容已经被读入到s中
>>>> file=open("C:\\Users\\lenovo\\Desktop\\two.txt" ,'r')    
>>> I = file.readlines()   //将文件读取到列表中
>>> print(I)
['python\n', '0\n', '1\n', '2\n', '3\n', '4\n', '5\n', '6\n', '7\n', '8\n', '9\n']

readlines函数

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 打开文件
fo = open("runoob.txt", "r")
print "文件名为: ", fo.name
 
for line in fo.readlines():                          #依次读取每行  
    line = line.strip()                             #去掉每行头尾空白  
    print "读取的数据为: %s" % (line)
 
# 关闭文件
fo.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值