列表字典元组集合 容易出现的各种函数 方法已经小问题 (想到哪里写哪里)

来源:互联网 发布:淘宝上警服叫什么 编辑:程序博客网 时间:2024/04/29 13:50

1列表 (list)

1若要使列表每个元素都加上相同的值 就要用到列表推导式

b = [23,45,22,44,25,66,78]
[x+2 for x in b]

2列表推导式与切片索引相结合 就能引用一个列表中多个值了 format就不能用此方法

b = [23,45,22,44,25,66,78]
['the content is %d'% x for x in b[0:2]]

3当且切片进行倒叙引用时,后面步长为-1 ,起始从-1开始,取几个数,就在结果+1

b=[2,46,78,93,65,7]
b[-1:-4:-1]

输出为[7, 65, 93]

4 相关函数操作

1生成新的列表 +

a=[1,2,3]  
b=[4,5,6]  
a+b

输出为

[1, 2, 3, 4, 5, 6]
2 extend  只能在末尾添加列表 其他字符串整形等不能添加
a=[1,2,3]  b=[4,5,6]  a.extend(b)
输出为  
[1, 2, 3, 4, 5, 6] 
3 append 在末尾添加内容 添加数字就是数字 添加列表就是列表
a=[2,3,4] 
b=[5,6,7]              a.append(b)  print(a)
输出为 
[2, 3, 4, [5, 6, 7]]
a=[2,3,4]b='sfsdf'  a.append(b)  print(a)
输出为
[2, 3, 4, 'sfsdf']
4 insert: 插入任意对象到列表中,可以控制插入位置 和append十分像 但是insert可以指定
插入位置append只能在末尾插入 必须先指定位置 在插入内容
a=[2,3,4]b='sfsdf'  a.insert(1,b)  print(a)
输出为
[2, 'sfsdf', 3, 4]
5修改 自身修改即可
a=[1,23,56,788,4]a[2]=33333print(a)
输出为 
[1, 23, 33333, 788, 4]
6删除操作 del pop remove 
del :我们通过索引删除指定位置的元素 可以使单个元素 可以是一段 内置参数指的是位置 而非数值 用中括号引用切片

1 del a 删除列表对象的引用

2 del a[:] 清空列表对象里的元素

a=[1,23,56,788,4]del a[2:4]print(a)
输出为 
[1, 23, 4]
remove:移除列表中指定值的第一个匹配值(非位置切片)。如果没找到的话,会抛异常 
a=[1,23,56,788,4]a.remove(23)print(a)
输出为
[1, 56, 788, 4]

pop返回最后一个元素,并从list中删除它。 pop()括号里面是不跟任何元素的

a=[1,23,56,788,4]
a.pop()
print(a)
输出为
[1, 23, 56, 788]
7排序反转 sort reverse
sort  自身从小到大排序 若赋值给b则输出值为None
a=[1,23,56,788,4]a.sort()print(a)
输出为 
[1, 4, 23, 56, 788] 
a=[1,23,56,788,4]b=a.sort()print(b)
输出为NOne

reverse:反转一个list, 他的返回值为none 和sort完全一样 它的功能是反转




2字典(dict)

1可以在原地的key键进行修改

info={'a':[1,2,3],'b':[4,5,6]}
info['a']=['fsdfsd']
print(info)

输出为

{'a': ['fsdfsd'], 'b': [4, 5, 6]}
2

1 创建字典。{},dict()

info = {'name':'lilei', 'age': 20}info1 = dict(name='lilei',age=20)print(info)print(info1)

输出是一样的

{'name': 'lilei', 'age': 20}{'name': 'lilei', 'age': 20}

2 添加内容a['xx'] = 'xx'  用的是中括号 其实和修改差不多 修改是加入原来没有的key

info  = dict(name='lilei',age=20)info['phone'] = 'iphone5'print(info)

输出为

{'name': 'lilei', 'age': 20, 'phone': 'iphone5'}

4 删除del,clear,pop

del info['phone'] 删除key 键值 同时相对应的values也消失了

info  = dict(name='lilei',age=20)del info['name']print(info)

输出为

{'age': 20}

del info[] 删除的是对这个info的引用 删除以后即没有定义

info.clear()删除字典的全部元素

即输出的只是一个空的字典 {}

info.pop('name')

返回name对应的内容,原来的info关于name的内容被删除了。

字典的pop传入的是key 而列表的pop传入的是下表。但是字典若没有指定参数报错,能传出value 而列表只能报错什么都不传出来

5 in和has_key() 成员关系操作

1 phone in info   只判断key 而不是value

2  info.has_key('phone')  两种不同的写法  python3中没有

6返回列表

keys(): 返回的是列表,里面包含了字典的所有键

values():返回的是列表,里面包含了字典的所有值

items:生成一个字典的容器:[()]

7get:从字典中获得一个值

info.get('name')   get的是key 返回的是key对应的value

info.get('age2','22')  若列表没有的key 且有value 的值 则范围的是value的值

8多层关系

这里如果一个key下层还有很多分类就用到{ } 接着分层

具体形式是  key:{ } 当成总的一个键

对比   key=’变成key={ }

info={'name':'','age':'25','score':{'yuwen':'80','shuxue':'75','yingyu':'80'}}
info['score']['yuwen']

输出为 '80'

9通过字典搜索引用别的函数进行操作 这里以sort()为例

info={'name':'lingming','age':'25','score':{'yuwen':80,'shuxue':75,'yingyu':81}}
info1={'name':'zhangqiang','age':'25','score':{'yuwen':'80','shuxue':'75','yingyu':'80'}}
info1['score']['shuxue']='89'
a=info['score'].values()
b=list(a)
print(b)
print(b.sort())

输出为 none 但是已经排序了




3元组(tuple)

通过偏移来取数据可以切分  确保数据可靠性不可修改。

属于不可变的对象,不能在原地修改内容,没有排序,修改等操作。只能通过转换(如list)来进行修改数据。

a=(13,567,734,73)
a[3]

输出为73 


4集合

1创建集合

set():可变的 set()  

a=set('sfds')
print(a)

输出结果为 

{'f', 's', 'd'} 用大括号括起来 并且去重

frozenset():不可变的 


2添加操作(区别于list)

1add()添加什么元素就是什么元素,后面不可以跟一个集合

a=set('sfds')
a.add('python')
print(a)

输出为

{'f', 's', 'd', 'python'}   
2update() Update()后面可以跟一个集合 并且相当于刷新 有的元素不添加 没有的才添加
a=set('sfds')b=[125,23]a.update(b)print(a)
输出为
{'f', 's', 125, 'd', 23}

3删除 remove 

删除的只能是已经有的元素且只能删除一个(有且只能有一个,因为集合是一个不可重复的集合)

a={'sdf','w','q','w','qw'}a.remove('w')print(a)

输出为

{'qw', 'sdf', 'q'}


原创粉丝点击