python学习2019/06/17

补充学习

list

a = 【’a’,’b’,‘c’,’d’】

append(’str?‘)
追加元素到末尾
a.append(‘e’)

insert(序号,’str?‘)
追加元素到指定序号位置
a.insert(1,‘1’)

pop()
删除末尾元素
a.pop()

pop(序号)
删除指定序号位置元素
a.pop(1)

a[1] = ‘2’
替换指定序号位置元素

tuple

a = (1, 2)

#注意,定义1个数的tuple时,a = (1),这个不属于tuple
因为此时小括号表示的是数学意义的
所以定义一个数值的tuple时要在后面加,
a = (1,)

for in

list(range(5))
生成一个1-5的列表

sum = 0
for x in range(101):
sum = sum + x
print(sum)
从0加到100

sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
100内的奇数相加

dict

d = {‘Michael’: 95, ‘Bob’: 75, ‘Tracy’: 85}
d[‘Michael’]
95

d[‘Adam’] = 67
d[‘Adam’]
67

要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:
‘Thomas’ in d
False

二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:

d.get(‘Thomas’)
d.get(‘Thomas’, -1)
-1

get(键,不存在时返回的值,不输入默认输出none)方法
get(key, value(none))
dict内置函数
取键对应的值,如值不存在返回指定的value
不设置value时返回none值不显示结果

删除key:value
pop(key)

list等可变的值无法作为key

set

集合
无序,不可重复
a = {1,2,3}
a.add(4)
add,添加值
a = {1,2,3,4}
a.remove(4)
a = {1,2,3}
remove,删除值

set可做并集,交集,等操作

list.sort( key=None, reverse=False)
key值属性,一般使用lambda函数
reverse排序,默认正序

sum = lambda arg1, arg2: arg1 + arg2
取值a1,a2,使用方向a1+a2
#调用sum函数
print ("相加后的值为 : ", sum( 10, 20 ))
使用lambda函数,a1 = 10,a2 = 20
print ("相加后的值为 : ", sum( 20, 20 ))

如果非要将列表里不同类型相比较,可以考虑如下方法:

l = [-1, -3, 1, 0, 3, ‘a’, ‘b’, ‘c’]
l.sort(key = str)
print(l)
排序结果:

[-1, -3, 0, 1, 3, ‘a’, ‘b’, ‘c’]
这里是利用 key 参数将数字全部转换为 str 类型后排序。

replace

str.replace(old, new[, max])
old – 将被替换的子字符串。
new – 新字符串,用于替换old子字符串。
max – 可选字符串, 替换不超过 max 次

str = “www.w3cschool.cc
print (“菜鸟教程旧地址:”, str)
print (“菜鸟教程新地址:”, str.replace(“w3cschool.cc”, “runoob.com”))

str = “this is string example…wow!!!”
print (str.replace(“is”, “was”, 3))
以上实例输出结果如下:

菜鸟教程旧地址: www.w3cschool.cc
菜鸟教程新地址: www.runoob.com
thwas was string example…wow!!!

上面我们讲了,str是不变对象,而list是可变对象。

对于可变对象,比如list,对list进行操作,list内部的内容是会变化的,比如:

a = [‘c’, ‘b’, ‘a’]
a.sort()
a
[‘a’, ‘b’, ‘c’]
而对于不可变对象,比如str,对str进行操作呢:

a = ‘abc’
a.replace(‘a’, ‘A’)
‘Abc’

a
‘abc’
虽然字符串有个replace()方法,也确实变出了’Abc’,但变量a最后仍是’abc’,应该怎么理解呢?

我们先把代码改成下面这样:

a = ‘abc’
b = a.replace(‘a’, ‘A’)
b
‘Abc’

a
‘abc’
要始终牢记的是,a是变量,而’abc’才是字符串对象!有些时候,我们经常说,对象a的内容是’abc’,但其实是指,a本身是一个变量,它指向的对象的内容才是’abc’:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值