python学习笔记3—序列操作
admin
2023-07-30 20:43:46
0

合并字符串

r来形成原始字符串
+不能像c#一样直接连接一个字符串和有关数值。

切片

可以 从头开始也可以倒数计数,也可以间隔一定距离取

>>> numlist=list(range(100))
>>> numlist
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
>>> numlist[:10)
SyntaxError: invalid syntax
>>> numlist[:10]     #这里冒号前面的0可以省略
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> numlist[:10:2]
[0, 2, 4, 6, 8]
>>> numlist[-10::2]   #这里冒号中间的-1可以省略;
[90, 92, 94, 96, 98]
>>> numlist[-10::3]
[90, 93, 96, 99]
>>>

迭代:

可迭代对象iterable 、 for … in … 、 enumerate函数可以把一个索引元素对,也就相当于一个带序号和实际内容的元素对组成的list
容器和生成器都是可迭代对象,而只有生成器才是迭代器对象。
容器包括序列(list与tuple)、集合set、字典dict。Enumerate可以对序列生成索引元素对。

mydict={}
mydict[\'数学\']=60
mydict[\'语文\']=90
mydict[\'英语\']=100

for str,score in mydict.items():
    print(str,score)

for str in mydict.items():
    print(str)

for index,str in enumerate(mydict.items()):
print(index,str)

列表生成式

列表生成式就是用生成式来简化循环生成列表的过程。

生成式与if语句联合

generatedList=[x*x for x in range(1,11) if x%2==0]
print(generatedList);

两个for联合可以使用两层循环形成全排列

allSortedList=[(x,y) for x in \'ABC\' for y in [1,2,3]]
print(allSortedList)

列出当前目录下所有文件和目录名

import os
dir=[d for d in os.listdir(\'.\')]
print(dir)

字符串变小写

#测试
strlist=[\'Abc\',\'dE12\',334,\'12F\']
#strlist=[strs.lower() for strs in strlist if isinstance(strs,str)]
strlist=[strs for strs in strlist \\
         if not isinstance(strs,str) or isinstance(strs.lower(),str)]
print(strlist)

生成器

如果列表元素能够按照某种算法推算出来,那就不必生成完整的列表,只要根据需要来生成,这样就能节省内存空间。这就是生成器generator();generator是一个算法,而不是一个列表,如果想访问下一个元素需要使用next(g);

生成器有两种方法创建,第一种是使用生成式的方式,第二种是使用定义生成器函数的方式。
生成式也是iterable对象

生成式的方式生成生成器

g=(x*x for x in range(1,10))
for n in g:
    print(n)

iterable对象在迭代到最后一个元素后如果继续迭代会产生StopIteration异常,可以进行捕获。

# -_-! coding: utf-8 -_-!
myList=list(range(1,100))
for index,num in enumerate(myList):
    print(index,num)

#迭代
mydict={}
mydict[\'数学\']=60
mydict[\'语文\']=90
mydict[\'英语\']=100

for str,score in mydict.items():
    print(str,score)

#dict的默认是迭代key,可以用.value()迭代值,可以用.items()迭代键值对
for str in mydict.items():
    print(str)

for index,str in enumerate(mydict.items()):
    print(index,str)

#生成式
#与if语句联合
generatedList=[x*x for x in range(1,11) if x%2==0]
print(generatedList);


#两个for联合
#可以使用两层循环形成全排列
allSortedList=[(x,y) for x in \'ABC\' for y in [1,2,3]]
print(allSortedList)

#列出当前目录下所有文件和目录名
import os
dir=[d for d in os.listdir(\'.\')]
print(dir)


#字符串变小写
#测试
strlist=[\'Abc\',\'dE12\',334,\'12F\']
#strlist=[strs.lower() for strs in strlist if isinstance(strs,str)]
strlist=[strs for strs in strlist \\
         if not isinstance(strs,str) or isinstance(strs.lower(),str)]
print(strlist)

lista=[1,2,3]
listb=[2,3,4]
lista=lista+listb;
print(lista)


#生成器
##生成式的方式生成生成器
g=(x*x for x in range(1,10))
for n in g:
    print(n)

##定义函数的方式生成生成器
###斐波那契额数 1 1 2 3 5 8
def fab(n):
    x,y,z=0,1,0
    while z

本文首发地址:
http://blog.csdn.net/zhzz2012/article/details/47425843,欢迎分享和转载,但请注明出处

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...