东瑜

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

读书时代,最让人头疼的就是C语言的数据结构。里面有着线性表栈和队列树和二叉树。而Python的数据结构内置简单,可以很好的调用。无需知道过多的细节。

Python列表

如何把一组数字或者字符串,分成一个组或者集合。集中存储在内存中呢?这里可以通过列表[list],来存储信息。

接下来介绍,如何创建列表和一系列的增删改查操作。

创建列表

>>> friends = ['张盛东','刘钟浩','胡轲']
>>> numbers=['1','3','5','10']
>>> print (friends)
['张盛东', '刘钟浩', '胡轲']
>>> print (numbers)
['1', '3', '5', '10']

添加元素

现在,我想加一个朋友,分到一组里面。如何操作,如下:

>>>friends.append('杨帆')
>>> print (friends)
['张盛东', '刘钟浩', '胡轲', '杨帆']

查询元素

列表的元素可以通过索引的方式获取,在计算机语言中,一般从0开始计数,因此。上述的friends的列表。取出第一个和第三个元素,命令如下:

>>> print (friends[0])
张盛东
>>> print (friends[2])
胡轲

列表分片

分片slicing,就像切面包一样,我从列表中取出多个元素。

>>> print (friends[0:2])
['张盛东', '刘钟浩']
>>> print (friends[0:3])
['张盛东', '刘钟浩', '胡轲']
>>> print (friends[1:3])
['刘钟浩', '胡轲']

从取出的元素,可知。取出的元素个数是(2-0=2,3-0=3,3-1=2)。索引从开始位置选出,达到第二个索引之前结束。

分片简写

>>> print (friends[:3])
['张盛东', '刘钟浩', '胡轲']
>>> print (friends[:2])
['张盛东', '刘钟浩']
>>> print (friends[3:])
['杨帆']
>>> print (friends[2:])
['胡轲', '杨帆']
>>> print (friends[:])
['张盛东', '刘钟浩', '胡轲', '杨帆']

修改元素

把第三个朋友胡轲,修改成另外一个朋友

>>> print (friends[2])
胡轲
>>> friends[2] ='衷晨'
>>> print (friends)
['张盛东', '刘钟浩', '衷晨', '杨帆']

一些其他添加列表元素的方法

extend()

列表扩展,可以加入多个元素

>>> friends.extend(['zhang','liu','hu'])
>>> print (friends)
['张盛东', '刘钟浩', '衷晨', '杨帆', 'zhang', 'liu', 'hu']

insert()

在指定的位置,插入一个元素。命令如下:在第三个元素的位置,插入王二这个元素。

>>> friends.insert(2,'王二')
>>> print (friends)
['张盛东', '刘钟浩', '王二', '衷晨', '杨帆', 'zhang', 'liu', 'hu']

删除元素

remove()删除

选出你要删除的元素

>>> friends.remove('张盛东')
>>> print (friends)
['刘钟浩', '王二', '衷晨', '杨帆', 'zhang', 'liu', 'hu']

del 通过索引删除元素

>>> print (friends)
['刘钟浩', '王二', '衷晨', '杨帆', 'zhang', 'liu', 'hu']
>>> del friends[0]
>>> print (friends)
['王二', '衷晨', '杨帆', 'zhang', 'liu', 'hu']

pop删除最后一个元素

>>> friends = ['张盛东','刘钟浩','胡轲']
>>> print (friends)
['张盛东', '刘钟浩', '胡轲']
>>> friends.pop()
'胡轲'
>>> print (friends)
['张盛东', '刘钟浩']

查询元素

可以通过for语句和if语句,获取遍历你选择的元素,并作出相应的操作。

#!/usr/bin/python
#-*-coding:GBK -*-

friends = ['zhang','liu','hu','张盛东']

for friend in friends:
	print (friend)

print ("---------------------------")
	
if 'zhang' in friends:
	print ("发现 'zhang' 在friends列表中")
	print (friends.index('zhang'))

列表排序

可以对数字或者字符串排序。

>>> numbers = [3,19,1,12,7]
>>> numbers.sort()
>>> print (numbers)
[1, 3, 7, 12, 19]

Python 元祖

元祖(Tuple)与列表对比来说,其元素不能修改。

定义元祖

>>> tuple1=('zhang','liu',1,3,4,5)
>>> print (tuple1)
('zhang', 'liu', 1, 3, 4, 5)

Python 字典

dictionary是将两个事物关联在一起。这一对事物分别称为键(key)和值(value)。字典中的每个项(item)或者条目(entry)。--其中entry这个词会在计算机语言中多次出现。都有一个键和值。统称为键值对(key-value pair)。

简单的理解,可以理解为电话簿。一个名字对应一个手机号码。

定义字典

>>> phoneNumbers = {"zhang": "555-1234","liu":"1512008","hu":"1387098"}
>>> print(phoneNumbers['zhang'])
555-1234
>>> print(phoneNumbers['hu'])
1387098

查看key和value

>>> print(phoneNumbers.keys())
dict_keys(['zhang', 'liu', 'hu'])
>>> print(phoneNumbers.values())
dict_values(['555-1234', '1512008', '1387098'])

删除字典元素

  • del删除一个条目(entry)

    >>> print(phoneNumbers)
    {'zhang': '555-1234', 'liu': '1512008', 'hu': '1387098'}
    >>> del phoneNumbers['liu']
    >>> print(phoneNumbers)
    {'zhang': '555-1234', 'hu': '1387098'}
    
  • clear()清除所有条目

    >>> phoneNumbers.clear()
    >>> print(phoneNumbers)
    {}
    
posted on 2020-03-15 15:39  东瑜  阅读(316)  评论(0编辑  收藏  举报
\\页脚html代码