python列表,元组,字典
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python列表,元组,字典相关的知识,希望对你有一定的参考价值。
列表:
a = [‘a‘, ‘b‘, ‘c‘, ‘abc‘, 1, 2, 3]
print a
# append默认添加在最后
a.append(4)
print a
输出:[‘a‘, ‘b‘, ‘c‘, ‘abc‘, 1, 2, 3, 4]
# index方法能够查看列表中4这个元素的下标索引是多少
print (a.index(4))
输出:7
# 使用insert方法能够向列表中插入元素
a.insert(2,‘hh‘)
print a
输出:[‘a‘, ‘b‘, ‘hh‘, ‘c‘, ‘abc‘, 1, 2, 3, 4]
# 默认删除最后一位,可以添加下标删除
a.pop(7)
print a
输出:[‘a‘, ‘b‘, ‘hh‘, ‘c‘, ‘abc‘, 1, 2, 4]
# 使用remove方法能够删除掉列表中a这个元素
a.remove(‘a‘)
print a
输出:[‘b‘, ‘hh‘, ‘c‘, ‘abc‘, 1, 2, 4]
# 使用sort方法可以针对列表进行排序,但是列表中需要全是数字或字符串,不能既有数字也有字符串
b = [1, 2, 8, 9, 5, 6, 7]
b.sort()
print (b)
输出:[1, 2, 5, 6, 7, 8, 9]
# 使用reverse可以针对列表进行反序排序
b.reverse()
print(b)
输出:[9, 8, 7, 6, 5, 2, 1]
字符串,可以进行索引和切片操作,字符串是不可变的,可迭代的
a=‘abcd’
a[0] 为a
a[2] 为c
a[0:2] 为ab (从0开始取2个,省略0为从第一个开始,省略最后为直接取到最后一个)
a[0:4:2] 为ad (从0开始取,取到第4个,步长为2)
列表[],可变类型的数据结构,可增加删除和改变列表中的值,可迭代的
list1=[‘a‘,1,(1,),[‘hello‘,‘world‘]]
list1[1] 为1
list1.append(‘123‘) 向列表里面追加一个对象
list1.instert(1,‘abc’) (向list1列表中下标为1的位置添加一个abc对象)
del可以删除字符串、列表和元组等
del list1[4] (删除list1列表中的第四个元素)
list1.remove(1) (会删除列表中第一个为1的元素)
list1.reverse() (将list1整个列表反转)
list1.pop() (不加下标默认从最后一个删除,加了下标删除下标的元素,删除后会输出删除的元素内容)
list1.extend(‘abcd‘) (向列表中迭代追加a,b,c,d四个元素)
zip(list1,list2) (将列表1和列表2组合成一个新的列表)
针对字符串的操作也可以针对列表进行操作
可迭代的内容都可以通过for循环来进行访问
元组
可以使用索引和切片,与字符串相同,是不可变的,可迭代的
t=(‘a‘,1,(2,)) (元组中可以存字符串,数字,变量和元组等;元组必须加,才是元组)
first,second,third=t (可以使用这种方法来接受元组中的值,也叫元组的拆分)
# 使用count可以查看某个元素的数量
tuple1=(1, 2, 3, ‘abc‘, ‘789‘)
print (tuple1.count(3))
输出:1
# 使用index方法能够查看某个元素的下标
print (tuple1.index(‘789‘))
输出:4
字典
字典{}
字典是python中的唯一的映射类型(哈希表)
字典对象是可变的,但是字典的键必须使用不可变对象且键值不能重复,一个字典中可以使用不同类型的键值
dic1 = {‘a‘:1, 1:123, (1,):‘abc‘}
dic[1] 为123 访问字典中的元素
len(dic1) 查看字典中有多少元素
dic1.keys() 查看dic1字典中的所有键值
dic1.get(‘a‘) 返回键值为1的元素的值
‘a’ in dic1 可以用in来判断键值是否在字典中
dic1.has_key(‘a‘) 同上
dic1.values() 返回dic1中的所有元素
dic1.items() 将字典中的key和value保存到一个元组中,并将元组存为一个列表
dic1.iteritems() 同items()方法,以对象形式返回字典里的key和value
dic2 = dic1.copy() 拷贝
dic1.pop(1) 删除字典中key为1的key和value,并返回value,如key不存在则返回keyerror
dict(zip(list1, list2)) 可将合并后的列表创建为字典
dict(([‘a‘,1],[‘b‘],2)) 可直接创建字典
dict(a=1,b=2) 可直接创建字典
dic.fromkeys(range(100),100) 创建字典,value可以为none
for k, v in dic1: 使用for遍历字典里面的key和value
print "%s , %s" % (k, v)
字典练习
#!/usr/bin/python
#coding=utf-8
dic = {}
name = raw_input("Please input you name: ")
age = raw_input("Please input you age: ")
xingbie = raw_input("请输入你的性别:(M/W)")
time.sleep()
dic[‘name‘] = name
dic[‘age‘] = age
dic[‘xingbie‘] =xingbie
print dic
a1={ ‘a‘:1,‘b‘:2,‘c‘:3 }
print (a1)
# 使用get方法,获得字典中key的value,如果字典中key没有对应的value,则会显示none
print(a1.get(‘a‘))
输出:1
# 使用setdefault方法,也可以获得字典中key的value,如果字典中key没有对应的value,则会显示none,但是可以在后面加上参数,如果没有value则会显示后面加的参数
print(a1.setdefault(‘c‘))
输出:3
print(a1.setdefault(‘d‘, 123))
输出:123
# 使用keys方法可以获取字典中的所有key值
print(a1.keys())输出:dict_keys([‘b‘, ‘a‘, ‘c‘])
# 使用values方法可以获取字典中的所有values
print(a1.values())输出:dict_values([1, 2, 3])
# 可能实际操作中比较消耗内存
dic1.items() 将字典中的key和value保存到一个元组中,并将元组存为一个列表
# 取出的值是一个对象,必须遍历后才能取出对象的值
dic1.iteritems() 同items()方法,以对象形式返回字典里的key和value
# 使用formkeys可以把l列表作为n字典的key值,将后面的参数作为n字典的value
l = [‘a‘, ‘b‘, ‘c‘]m = {}
n = m.fromkeys(l, 789)
print (n)
# 使用zip方法将两个列表叠加成一个字典
本文出自 “粗粮面包” 博客,请务必保留此出处http://culiangmianbao.blog.51cto.com/10475024/1975420
以上是关于python列表,元组,字典的主要内容,如果未能解决你的问题,请参考以下文章