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列表,元组,字典的主要内容,如果未能解决你的问题,请参考以下文章

Python的列表&元组&字典&集合

python学习--day1(列表元组字典的区别)

python之列表,元组,字典。

python特色_字典,元组,列表

python基础-列表 元组 集合 字典区别和用法

python 列表元组字典