三、python数据类型(列表和字典)

本文深入讲解了Python中的两种核心数据结构——列表和字典。详细介绍了列表的基本操作,如索引、切片、添加、删除等,并展示了如何利用列表进行数据处理。同时,文章还解释了字典的特性和使用方法,包括键值对的操作、遍历以及一些高级功能。

列表(list)

列表(list)是处理一组有序的项目数据结构,列表是可变类型的数据

In [1]: list1=[]    #创建空列表

In [2]: type(list1)
Out[2]: list

In [3]: list2=list()  #也可以用list()这个函数创建

In [4]: list3=['a',1,(1,),['hello','python']]

In [5]: list3
Out[5]: ['a', 1, (1,), ['hello', 'python']]        #列表中可以包含字符,数字,元组,列表

In [6]: len(list3)   #表示里面有4个元素
Out[6]: 4

列表是可变的
In [4]: list3[0]
Out[4]: 'a'

In [5]: list3[0]='b'    #更改第一个元素

In [6]: list3
Out[6]: ['b', 1, (1,), ['hello', 'python']]
In [7]: list2=[]  

In [8]: list2.append('linux')     #append是往里面追加字符的一个函数
In [9]: list2+list3      #可以列表相加
Out[9]: ['linux', 'b', 1, (1,), ['hello', 'python']]

In [10]: (list2+list3)*2       #也可以列表运算,代表出现2次
Out[10]: 
['linux',
 'b',
 1,
 (1,),
 ['hello', 'python'],
 'linux',
 'b',
 1,
 (1,),
 ['hello', 'python']]

列表操作:
切片、索引、添加 list.append()、删除del list[] ,list.remove(list[])、修改list[]=x、查找var in list

In [4]: list3.append('aa')

In [5]: list3
Out[5]: ['linux', 'b', 1, (1,), ['hello', 'python'], 'aa']   #默认往最后一个元素后面添加字符
In [6]: del list3[-1]
In [7]: list3
Out[7]: ['linux', 'b', 1, (1,), ['hello', 'python']]  #删除下标为-1的元素‘aa’
del list2    #del可以删除任何东西,删除变量list2
In [5]: list3
Out[5]: ['linux', 'b', 1, (1,), ['hello', 'python'], 'aa', 1]

In [6]: list3.remove(1)     #remove是列表里面的删除方法,这个是直接删除出现首个出现1的值,

In [7]: list3
Out[7]: ['linux', 'b', (1,), ['hello', 'python'], 'aa', 1]

In [2]: 'aa' in list3  #‘aa’存在列表当中就返回为ture
Out[2]: True

In [6]: list3.insert(1,list1)   #往list3插入list1表,该表是个空
In [7]: list3
Out[7]: ['linux', [], 'b', (1,), ['hello', 'python'], 'aa', 1]
In [8]: list3[1].append('abc')    #往这个空元素里面插入字符
In [9]: list3
Out[9]: ['linux', ['abc'], 'b', (1,), ['hello', 'python'], 'aa', 1]
In [10]: list3.sort()  #排序,默认升序
In [11]: list3
Out[11]: [1, ['abc'], ['hello', 'python'], 'aa', 'b', 'linux', (1,)]
In [12]: list3.reverse()  #反转,就是前后元素转换位置
In [13]: list3
Out[13]: [(1,), 'linux', 'b', 'aa', ['hello', 'python'], ['abc'], 1]
In [3]: list3.pop(1) #pop() 是删除该下标元素并显示
Out[3]: 'linux'
In [4]: list3.pop()  #不加索引默认删除最后一个
Out[4]: 1
In [2]: range(5) #迭代
Out[2]: [0, 1, 2, 3, 4]
In [4]: list3.extend(range(5))      #将迭代的元素迭代追加到列表中
In [5]: list3
Out[5]: [(1,), 'linux', 'b', 'aa', ['hello', 'python'], ['abc'], 1, 0, 1, 2, 3, 4]
In [1]: list3= [1, 0, 1, 2, 3, 4]
In [2]: list3.extend('abcde')  #迭代字符
In [3]: list3
Out[3]: [1, 0, 1, 2, 3, 4, 'a', 'b', 'c', 'd', 'e'] 
In [4]: list3.extend(('t1','t2'))  #迭代
In [5]: list3
Out[5]: [1, 0, 1, 2, 3, 4, 'a', 'b', 'c', 'd', 'e', 't1', 't2']

字典(key:value)

字典是python中唯一的映射类型(哈希表),字典对象是可变的,但是字典的键必须是不可变对象,一个字典中可以使用不同类型的键值

In [4]: dic={'a':1,1:123}
In [5]: dic
Out[5]: {1: 123, 'a': 1}    #前面是keys : 后面是values, 里面的键值是不可变的

In [3]: dic.keys()     #显示所有的keys值
Out[3]: ['a', 1]
In [5]: dic.values()  #显示所有的values值
Out[5]: [1, 123]  #长度
n [2]: len(dic)  
In [4]: dic.get('a')  #获取key为'a' 的value   ,如果Key值不存在,直返回null
Out[4]: 1
In [5]: dic[1]  #value值是可变的,key值是不可变的
Out[5]: 123
In [6]: dic['a']=2
In [7]: dic
Out[7]: {1: 123, 'a': 2}
In [1]: dic={'a':1,1:123}
In [2]: 'a' in dic  #判断是key是否在字典内
Out[2]: True
In [3]: 'b' in dic
Out[3]: False
In [4]: dic.has_key('a')  # 另外一种判断方法		
Out[4]: True
In [5]: dic.has_key('b')
Out[5]: False
In [6]: dic.items()  #将字典变为列表
Out[6]: [('a', 1), (1, 123)]
In [7]: dic
Out[7]: {1: 123, 'a': 1}
In [8]: dic1=dic.copy()   #copy字典
In [9]: dic1
Out[9]: {1: 123, 'a': 1}
dic.clear  #清除字典
In [5]: dic.pop(1)   #指定删除Key为1的元素并显示
Out[5]: 123
In [7]: dic
Out[7]: {'a': 1}

In [2]: dic={'a':1,1:123}
In [3]: dic1={1:1,2:2}
In [4]: dic.update(dic1)   #将字典dic1追加到字典dic中
In [5]: dic
Out[5]: {1: 1, 2: 2, 'a': 1,1:123}

字典的一些方法

In [7]: list1=('name','tom')
In [8]: list2=('age','20')
In [9]: zip(list1,list2)   #合并列表
Out[9]: [('name', 'age'), ('tom', '20')]
In [10]: dict(zip(list1,list2))    #将列表转换成字典
Out[10]: {'name': 'age', 'tom': '20'}
In [2]: dict(a=10,b=20)    #创建字典的一种方法
Out[2]: {'a': 10, 'b': 20}
In [6]: dic.fromkeys('abc')  #将每个字符认为一个key
Out[6]: {'a': None, 'b': None, 'c': None}

In [7]: dic.fromkeys('abc',100)
Out[7]: {'a': 100, 'b': 100, 'c': 100}   #这种方式适合values值都是一样
In [8]: dic.fromkeys(range(10),100)
Out[8]: 
{0: 100,
 1: 100,
 2: 100,
 3: 100,
 4: 100,
 5: 100,
 6: 100,
 7: 100,
 8: 100,
 9: 100}
In [1]: dic= {'a': 10, 'b': 20}   #通过循环的方式来访问字典key

In [2]: for k in dic:
   ...:     print k
   ...:     
a
b
In [3]: for k in dic:  # for循环访问字典的key和vaule
   ...:     print k,dic[k]
   ...:     
a 10
b 20
In [3]: for k in dic:
    print "%s, %s" %(k,dic[k])      #另外一种方式,可以自定义格式输出
   ...:     
a, 10
b, 20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值