1.字典{ }
删除键 del
1.Items( ) item()方法把字典中每对key和value组成一个元组,并把这些元组放在列表中返回
for key,value in user_0.items():
Print(“\nkey:”+key)
Print(“value:”+value)
结果:
Key: last
Value:fermi
Key:first
Value:enner
Key:username
Value:eferm
2keys() 返回的是键
For name in favorite_languages.keys( ):
Print(name.title())
结果:
Jen
Sara
Phil
3.进行排序输出
For name in sorted(favorite_language.keys()):
Print(name.title()+”,thankyou for taking the poll.”)
4.values() 返回的是值不筛去重复值
For language in favorite_language.values():
Print(language.title())
结果:
Python
C
python
Ruby
5.set() 筛去重复值
For language inset(favorite_language.values()):
Print(language.title))
结果:
Python
C
Ruby
格式化
一、用%表示
在python中,采用的格式化方法与c语言是一致的,用%实现,如下
1.>>> 'Hello,%s'%('world')
'Hello,world'
2.>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
%s表示用字符串替换
%d替换整数
%f替换浮点数
%x替换十六进制整数
3.>>> 'Age: %s. Gender: %s' % (25, True)
'Age: 25. Gender: True'
有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%:
4.>>> 'growth rate: %d %%' % 7
'growth rate: 7 %'
二、用format()表示
>>> 'Hello, {0}, 成绩提升了 {1:1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'
其它知识点
1. classmates[-1] 列表中直接获取最后一个元素
classmates[-2] 获取倒数第二个
classmates.append('Adam') 在末尾添加元素
classmates.insert(1,'Jack') 将索引位置为1的地方插入元素
classmates.pop()删除列表末尾的元素
classmates.pop(1)删除指定位置的元素
2.有序元祖tuple
tuple一旦初始化就不能再修改,classmates=('Mical','Bob','Tracy')
再议input
s=input('birth:')
birth=int(s)
if birth<2000:
print('00前')
else:
print('00后')
3.range(101)生成0-100的整数序列
4.字典 {}
5.set 重复元素自动过滤
>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}
add(key)可以添加元素到set中
remove(key)删除元素
两个set可以做数学意义上的交集、并集等操作
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}
6.abs()绝对值函数
max() 返回最大值
hex()把整数转换成十六进制
引用 abstest.py中的my_abs()函数
from abstest import my_abs
三、
1.可变参数
计算a2 + b2 + c2 + ……。平方
def calc(number):
sum=0
for n in numbers:
sum=sum+n*n*n
return sum
这个时候调用的时候,需要先组装出一个list或者tuple
calc([1,2,3])或者 calc((1,3,5,7))
给为可变参数函数,只需要在参数前面加一个*号
def calc(*number):
sum=0
for n in numbers:
sum=sum+n*n*n
return sum
cala(1,2)
*nums表示把nums这个list的所有元素作为可变参数传进去
2.关键字参数
而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
>>> person('Michael', 30)
name: Michael age: 30 other: {}
>>> person('Bob', 35, city='Beijing')
name: Bob age: 35 other: {'city': 'Beijing'}
>>> person('Adam', 45, gender='M', job='Engineer')
name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
*args是可变参数,args接收的是一个tuple;
**kw是关键字参数,kw接收的是一个dict。
3.切片
L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。
如果第一个索引是0,还可以省略:
>>> L[:3]
['Michael', 'Sarah', 'Tracy']
前10个数,每两个取一个:
>>> L[:10:2]
[0, 2, 4, 6, 8]
4.迭代
>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> for key in d:
... print(key)
...
a
c
b
迭代出的结果顺序可能不一样,默认情况下,dict迭代的是key,如果要迭代value。可以用for value in d.values()。如果要同时迭代出key和value,可以用 for k,v in d.items()
5. 列表生成式
>>> [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> [x * x for x in range(1, 11) if x % 2 == 0]
[4, 16, 36, 64, 100]
还可以使用两层循环,可以生成全排列:
>>> [m + n for m in 'ABC' for n in 'XYZ']
['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
6.内建函数isinstance()
>>> x = 'abc'
>>> y = 123
>>> isinstance(x, str)
True
>>> isinstance(y, str)
False
如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator.generator的函数,在每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行。