博客
关于我
python基础知识(3)
阅读量:168 次
发布时间:2019-02-28

本文共 2528 字,大约阅读时间需要 8 分钟。

1.去除字符串首尾的空格

方法1:切片(list、str和tuple都有切片的功能)

str = ' abcde 'print(str[1:len(str)-1])

方法二:strip()方法---该方法只能删除开头或是结尾的字符,不能删除中间部分的字符

语法:

str.strip([chars]);  chars -- 移除字符串头尾指定的字符序列。
str = "00000003210Runoob01230000000";printstr.strip('0');  # 去除首尾字符 0str2 = "   Runoob      ";  # 去除首尾空格printstr2.strip();

2.迭代----------在Python中,迭代是通过for ... in来完成的(str、list、tuple、dict)

d = {'a': 1, 'b': 2, 'c': 3}>>> for key in d:...     print(key)

默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同时迭代key和value,可以用for k, v in d.items()

dict={'age':'10','sex':'女'}#对key值迭代for key in dict:    print(key)>>>sexage#对value迭代for value in dict.values():    print(value)>>>女10#对key、value同时迭代for k,v in dict.items():    print(k,v)

>>>

sex 女
age 10备注:dict.items()得到的结果:[('age','10'),('sex','女')]

for x, y in [(1, 1), (2, 4), (3, 9)]: print(x, y)

》》》

1 1

2 4
3 9

list循环

list=['acd','def','ghr']

for i in list:

print (i)---------得到的是list的内容:acd  def ghr

for i in range(len(list)):

print(i)----------得到的是list中每个元素的下标:0 1 2

print(list[i])-----得到的是list中的内容acd  def ghr

 

1)只要是可迭代对象,无论有无下标,都可以迭代,通过collections模块的Iterable类型判断一个对象是可迭代对象;isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type(),但是type()不考虑继承关系

>>>a = 2>>> isinstance (a,int)Tru
>>> from collections import Iterable>>> isinstance('abc', Iterable) # str是否可迭代True>>> isinstance([1,2,3], Iterable) # list是否可迭代True>>> isinstance(123, Iterable) # 整数是否可迭代False

2)如何实现下标循环?使用内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身:

for i, value in enumerate(['A', 'B', 'C']):...     print(i, value)

》》》

0 A

1 B
2 C

3.列表生成式

1)生成数列:  list(range(1,11))-----------[1,2,3,4,5,6,7,8,9,10]

2)实现阶乘运算:

a)for循环

l=[]for i in range(1,11):    l.append(i * i)    print(l)

b)列表生成式

l=[i*i for i in range(1,5)]print(l)

----------------------------------高阶函数--------------------------------------------------

1.排序算法--sorted()方法

语法:

sorted(iterable, key, reverse)

sorted()排序的关键在于实现一个映射函数。

排序的对象可以是数字、list、str、dict等,如:

1)对list进行排序

>>> sorted([36, 5, -12, 9, -21])[-21, -12, 5, 9, 36]

2)sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序:

>>> sorted([36, 5, -12, 9, -21], key=abs)[5, 9, -12, -21, 36]

3)对str排序

a)默认情况下,对字符串排序,是按照ASCII的大小比较的,由于'Z' < 'a',结果,大写字母Z会排在小写字母a的前面。

>>> sorted(['bob', 'about', 'Zoo', 'Credit'])['Credit', 'Zoo', 'about', 'bob']

b)忽略大小写,按照字母序排序,,传入key函数,即可实现忽略大小写的排序:

>>> sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower)['about', 'bob', 'Credit', 'Zoo']

要进行反向排序,不必改动key函数,可以传入第三个参数reverse=True

>>> sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower, reverse=True)['Zoo', 'Credit', 'bob', 'about']

转载地址:http://apnj.baihongyu.com/

你可能感兴趣的文章
multiprocessing.pool.map 和带有两个参数的函数
查看>>
MYSQL CONCAT函数
查看>>
multiprocessing.Pool:map_async 和 imap 有什么区别?
查看>>
MySQL Connector/Net 句柄泄露
查看>>
multiprocessor(中)
查看>>
mysql CPU使用率过高的一次处理经历
查看>>
Multisim中555定时器使用技巧
查看>>
MySQL CRUD 数据表基础操作实战
查看>>
multisim变压器反馈式_穿过隔离栅供电:认识隔离式直流/ 直流偏置电源
查看>>
mysql csv import meets charset
查看>>
multivariate_normal TypeError: ufunc ‘add‘ output (typecode ‘O‘) could not be coerced to provided……
查看>>
MySQL DBA 数据库优化策略
查看>>
multi_index_container
查看>>
MySQL DBA 进阶知识详解
查看>>
Mura CMS processAsyncObject SQL注入漏洞复现(CVE-2024-32640)
查看>>
Mysql DBA 高级运维学习之路-DQL语句之select知识讲解
查看>>
mysql deadlock found when trying to get lock暴力解决
查看>>
MuseTalk如何生成高质量视频(使用技巧)
查看>>
mutiplemap 总结
查看>>
MySQL DELETE 表别名问题
查看>>