python运算符手写笔记_python----笔记整理

# -*- coding: utf-8 -*-

"""

-------------------------------------------------

File Name: common_module.py

Author : LiSen

Date: 2018/6/27 9:51:

-------------------------------------------------

"""

# 1.字典无序的问题。

'''

字典虽两个显著的缺点,其中之一就是无序,如何在构造字典的时候,让字典里面填入的内容有序呢,

一般的方法都是等字典的内容填充好了之后,用sorted排序,但是sorted,也并不能保证是按照添加的顺序进行迭代

from collections import OrderedDict

from string import ascii_uppercase

print ascii_uppercase #ABCDEFGHIJKLMNOPQRSTUVWXYZ

print zip(ascii_uppercase,range(5)) #[('A', 0), ('B', 1), ('C', 2), ('D', 3), ('E', 4)]

print dict(zip(ascii_uppercase,range(5))) #{'A': 0, 'C': 2, 'B': 1, 'E': 4, 'D': 3} 无序

a = OrderedDict(zip(ascii_uppercase,range(5))) #OrderedDict([('A', 0), ('B', 1), ('C', 2), ('D', 3), ('E', 4)])

print a

'''

#2.字典无缺省值的问题

'''

from collections import defaultdict

student = defaultdict(lambda :60)

student['bob'] = 80

student['jon'] = 90

print student #defaultdict( at 0x000000000332FC18>, {'bob': 80, 'jon': 90})

print student['ll'] #60

print student #{'bob': 80, 'll': 60, 'jon': 90})

d = defaultdict(set)

name = ['leo','jack','john']

for index,n in enumerate(name):

d[n].add(('180cm',60+index))

print d #defaultdict(, {'john': set([('180cm', 62)]), 'jack': set([('180cm', 61)]), 'leo': set([('180cm', 60)])})

'''

#3.像类一样玩转元组数据

'''

from collections import namedtuple

student = namedtuple('students','name,score,weight')

s1 = student(name='leo',score=100,weight=65)

print s1 #students(name='leo', score=100, weight=65)

print s1.name #leo

'''

# 4.题目:出现1次的数字

'''

给定一个数组里面有一串数字,其中有2个数字只出现了1次,剩下的数字出现2次!要求返回只出现1次的数字的和!

比如repeats([4,5,7,5,4,8]) = 15,因为7和8数字出现1次,它的和为15

'''

'''

num_array = [4,5,7,5,4,8]

a = [i for i in num_array if num_array.count(i) ==1]

print sum(a)

print a

print num_array.count(5)

unique_num_dict = {e:num_array.count(e) for e in num_array if num_array.count(e)==1}

print unique_num_dict

def repeats(num_array):

unique_num_dict = {e:num_array.count(e) for e in num_array if num_array.count(e)==1}

total = sum((list(unique_num_dict.keys())))

return total

print repeats(num_array)

def repeats1(arr):

numbers = set()

for i in arr:

if i in numbers:

numbers.remove(i)

else:

numbers.add(i)

return sum(numbers)

print repeats1(num_array)

'''

#5.enumerate

'''

cities = ['shanghai','beijing']

for i, city in enumerate(cities):

print i+1,'-->',city

1 --> shanghai

2 --> beijing

'''

#6.zip

'''

a = [1,2,3]

b = [1,2,3,4]

print zip(a,b)

[(1, 1), (2, 2), (3, 3)]

'''

#7.循环查找

"""即在for 循环中,如果没有从任何一个break中退出,则会执行和for对应的else

只要从break中退出了,则else部分不执行。"""

'''

target_letter = 'd'

letters = ['a','b','c']

for litter in letters:

if litter == target_letter:

print 'found'

break

else:

print 'not found'

'''

# 8.字符串——————join

url = ['www','baidu','com']

print '.'.join(url)

line = '*'*30

print line

a = 'hello'

b = a[::]

print id(b),id(a) #59367056 59367056

import re

word = 'hello,word; python, i , like '

print re.split(r'[,;]',word) #['hello', 'word', ' python', ' i ', ' like ']

students = 'boy 101,girl 102'

print re.sub(r'\d+','200',students) #boy 200,girl 200

import string

instr = 'to'

outstr = 'TO'

table = string.maketrans(instr,outstr)

old_str = 'hello world,welcome to use python.123'

new_str = old_str.translate(table,'hel')

print new_str #O wOrd,wcOm TO us pyTOn.123

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值