Python数据结构

引言:Python中常用的三种数据结构:列表(List)、元组(Tuple)和字典(Dictionary),本文章将介绍这三大类型的创建和操作。

1.List

List(列表)是处理一组有序元素的数据结构,每个元素之间用逗号隔开,所有元素包含在一个方括号内。

List(列表)是中可变的数据类型,可以在列表中添加任何类型的元素。列表的创建格式如下:

list_name = [element1, element2, element3,...]


常用操作


1)添加元素append(value)

#encoding:utf-8

import sys

#定义一个含有5个元素的列表

userlist = ['211410','211411','211412','211413','211414']

 

#使用len()获取列表的元素个数

type = sys.getfilesystemencoding()

 

print '目前列表中有'+str(len(userlist))+'个元素'

 

userlist.append('211415')

print '新添加一个元素'

 

print '目前列表中有'+str(len(userlist))+'个元素,他们是'

for item in userlist:

    print item

  

'''

目前列表中有5个元素

新添加一个元素

目前列表中有6个元素,他们是

211410

211411

211412

211413

211414

211415

'''

 

 

2)在索引位置插入元素insert(index, value)        

点点滴滴

#encoding:utf-8

import sys

#定义一个含有5个元素的列表

userlist = ['211410','211411', '211412','211413','211414']

 

#使用len()获取列表的元素个数

type = sys.getfilesystemencoding()

 

for item in userlist:

    print item

 

#2个位置上插入元素'2114105'

userlist.insert(2, '211415')

for item in userlist:

    print item

 

'''

输出结果

目前列表中有5个元素,它们是

211410

211411

211412

211413

211414

目前列表中有6个元素,它们是

211410

211411

211415

211412

211413

211414

'''

 

3)删除元素remove(value)  和 del  list_name[index]

点点滴滴

#encoding:utf-8

import sys

#定义一个含有5个元素的列表

userlist = ['211410','211411', '211412','211413','211414']

 

#使用len()获取列表的元素个数

type = sys.getfilesystemencoding()

 

for item in userlist:

    print item

 

userlist.remove('211411')

for item in userlist:

    print item

 

del userlist[0]

 

for item in userlist:

    print item

'''

目前列表中有5个元素,它们是

211410

211411

211412

211413

211414

目前列表中有4个元素,它们是

211410

211412

211413

211414

目前列表中有3个元素,它们是

211412

211413

211414

'''

 

4)分片赋值

         分片(slice)是列表的一个子集,分片是从第1个索引到第2个(不包含第二个索引位置的元素)所指定的所有元素。

list_name[m:n]

>>> user_list = ['alvin', 'haoqiang', 'ketty', 'nathan', 'david']

>>> user_list[2:4]

['ketty', 'nathan']

分片是一个非常强大的工具,分片赋值则更强大。

#encoding:utf-8

 

#使用list()方法,定义一个6元素列表

 

list_demo = list('Python')

print list_demo

 

#使用分片,从第3个元素开始到结束,赋值为rite

 

list_demo[2:] = list('rite')

 

print list_demo

'''

Output

————————————————

['P', 'y', 't', 'h', 'o', 'n']

['P', 'y', 'r', 'i', 't', 'e']

'''

 

分片赋值语句可以在不需要任何原有元素的情况下插入新元素:

numbers = [0, 6]

 

numbers[1:1] = [1,2,3,4,5]

 

print numbers

'''

[0, 1, 2, 3, 4, 5, 6]

'''

 

5)列表的连接list1.extend(list2)

list1 = ['001', '002', '003', '004']

list2 = ['005', '006', '007']

list1.extend(list2)

print list1

'''

['001', '002', '003', '004', '005', '006', '007']

'''

 

extend方法并非真正的连接了两个列表,它会返回一个全新的列表。

 

‘+’连接两个列表

list3 = ['001', '002', '003', '004']

list4 = ['005', '006', '007']

list5 = list3+list4

print list5

'''

['001', '002', '003', '004', '005', '006', '007']

'''

#+=号连接列表与List类中的append方法功能相同

list5 += ['008']

print list5

'''

['001', '002', '003', '004', '005', '006', '007', '008']

'''

 

6)查找list_name.index(value)和(emelemt in list_name)

点点滴滴

list1 = ['001', '002', '003', '004','005', '006', '007']

if '002' in list1:

    print list1.index('002')#1

 

7)排序sort()和反转reverse()

sort()在原始位置排序,会改变原始元素的位置,并不是返回一个列表的排序副本


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值