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方法将两个列表叠加成一个字典




本文转自 粗粮面包 51CTO博客,原文链接:http://blog.51cto.com/culiangmianbao/1975420,如需转载请自行联系原作者

相关文章
|
2月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
228 1
|
2月前
|
开发者 Python
Python列表推导式:优雅与效率的完美结合
Python列表推导式:优雅与效率的完美结合
419 116
|
2月前
|
Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
457 119
|
2月前
|
Python
Python列表推导式:优雅与效率的艺术
Python列表推导式:优雅与效率的艺术
299 99
|
2月前
|
数据处理 Python
解锁Python列表推导式:优雅与效率的完美融合
解锁Python列表推导式:优雅与效率的完美融合
278 99
|
2月前
|
Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
|
2月前
|
索引 Python
Python 列表切片赋值教程:掌握 “移花接木” 式列表修改技巧
本文通过生动的“嫁接”比喻,讲解Python列表切片赋值操作。切片可修改原列表内容,实现头部、尾部或中间元素替换,支持不等长赋值,灵活实现列表结构更新。
148 1
|
2月前
|
大数据 开发者 Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
|
2月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
185 4
|
2月前
|
索引 Python
098-python列表_切片_slice_开始_结束
本文介绍了Python中列表的切片(slice)操作,通过“前闭后开”原则截取列表片段,支持正负索引、省略端点等用法,并结合生活实例(如切面包、直播切片)帮助理解。切片不改变原列表,返回新列表。
264 4

推荐镜像

更多