Python-列表、元组、字典

列表

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

a = ['spa', 'egg', 12, 34]
print(a)
#['spa', 'egg', 12, 34]

列表的一些基本操作

索引、切片

a = ['spa', 'egg', 12, 34]
print(a[1])
#egg
print(a[:1])
#['spa']

修改元素值

a = ['spa', 'egg', 12, 34]
a[2] = 22
print(a)
#['spa', 'egg', 22, 34]

添加元素

  1.append() 新元素添加到列表尾部

a = ['spa', 'egg', 12, 34]
a.append('new')
print(a)
#['spa', 'egg', 12, 34, 'new']

  2.insert() 插入到指定位置

a = ['spa', 'egg', 12, 34]
a.insert(1, 99)
print(a)
#['spa', 99, 'egg', 12, 34]

  3.extend()  扩展,在列表末尾一次性追加另一个序列中的多个值

a = ['spa', 'egg', 12, 34]
b = ['abb', 99]
a.extend(b)
print(a)
#['spa', 'egg', 12, 34, 'abb', 99]

 

删除

  1.del  删除指定索引处的元素

a = ['spa', 'egg', 12, 34]
del a[1]
print(a)
#['spa', 12, 34]

  2. pop()  删除列表尾部一个元素

a = ['spa', 'egg', 12, 34]
a.pop()
print(a)
#['spa', 'egg', 12]

  3. remove()  删除指定元素

a = ['spa', 'egg', 12, 34]
a.remove(12)
print(a)
#['spa', 'egg', 34]

 查找-index( value, start=None, stop=None)  从列表中找出某个值第一个匹配项的索引位置  ps: start<=查找范围<stop

a = ['spa', 'egg', 12, 34]
print(a.index(12))
#2
a = ['spa', 'egg', 12, 34, 'egg']
print(a.index('egg', 2, 5))
#4

反向-reverse()

a = ['spa', 'egg', 12, 34, 'egg']
a.reverse()
print(a)
#['egg', 34, 12, 'egg', 'spa']

排序-sort()

a = ['spa', 'egg', '12', '34', 'egg']
a.sort()
print(a)
#['12', '34', 'egg', 'egg', 'spa']

长度-len()

a = ['spa', 'egg', '12', '34', 'egg']
print(len(a))
#5

元组

元组与列表类似,不同之处在于元组的元素不能修改。

tup1 = ('spa', 'egg', '12', '34', 'egg')
#元组中只包含一个元素时,需要在元素后面添加逗号
tup2 = (50,)

查看元组

tup1 = ('spa', 'egg', '12', '34', 'egg')
print("tup1[1]:", tup1[1])
print("tup1[1:3]:", tup1[1:3])
#tup1[1]: egg
#tup1[1:3]: ('egg', '12')

元组连接

tup1 = ('spa', 'egg', '12', '34', 'egg')
tup2 = (12, 34, 56)
tup3 = tup1+tup2
print(tup3)
#('spa', 'egg', '12', '34', 'egg', 12, 34, 56)

删除-元组元素不能被删除,但元组可以被删除

tup1 = ('spa', 'egg', '12', '34', 'egg')
print(tup1)
del tup1
print(tup1)

执行异常,tup1找不到

print(tup1)
NameError: name 'tup1' is not defined

统计-count(value) ,统计指定元素的个数

tup1 = ('spa', 'egg', '12', '34', 'egg')
print(tup1.count('egg'))
#2

字典

字典是另一种可变容器模型,且可存储任意类型对象,如其他容器模型。字典由键和对应值成对组成。

每个键与值用冒号隔开(:),每对用逗号分割,整体放在花括号中({})。

键必须独一无二,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

dict1 = {'a': 1, 'b': 2, 'c': 3}

 

 访问字典-[key] ,如果key在字典中不存在,则会抛出异常。

dict = {'Name': 'King', 'Age': 21, 'Class': '2-9'}

print ("Name: ", dict['Name'])
print ("Age: ", dict['Age'])
print ("Class: ", dict['Class'])

#输出结果
Name:  King
Age:  21
Class:  2-9

修改字典

dict1 = {'Name': 'King', 'Age': 21, 'Class': '2-9'}

dict1['Age'] = 18#修改Age
dict1['School'] = "DPS School" # Add new entry

print ("Age: ", dict1['Age'])
print ("School: ", dict1['School'])

#输出结果
Age:  18
School:  DPS School

get() 返回key所对应的val  ,如果key不存在,返回None

dict1 = {'Name': 'King', 'Age': 21, 'Class': '2-9'}
print ("Age: ", dict1.get("Age"))

#输出结果
Age:  21

fromkeys(seq, value)

seq = ('name', 'age', 'sex')

dict = dict.fromkeys(seq, "value")
print ("New Dictionary : %s" %  str(dict))

#输出结果
New Dictionary : {'sex': 'value', 'name': 'value', 'age': 'value'}

values() 返回字典中的所有值

dict1 = {'Name': 'King', 'Age': 21, 'Class': '2-9'}

print (dict1.values())

#输出结果
dict_values(['2-9', 21, 'King'])

  

 

posted @ 2016-01-27 10:33  King.left  阅读(343)  评论(0编辑  收藏  举报