python零基础自学第四周 列表List实用详解,满满干货

python零基础自学第四周 列表List实用详解,满满干货

自己写的一个针对PDF特别好用(懒人懒得打字使用特别舒畅)的截图识别文字的Python小程序,可以复制截图的文字部分。
自己写的python代码,学以致用,已经会打包.exe。但是默认C盘路径,其他路径无法使用(不知道什么问题,求大佬指点),有兴趣可以交流,有上传了一个小资源
1、截图文字识别.py(QQ已有)
2、截图文字识别并翻译.py
python零基础自学第四周 列表List实用详解,满满干货_第1张图片
python零基础自学第四周 列表List实用详解,满满干货_第2张图片
接下来是自学的List表:

print('-------%与格式化表达式比较-------------')
print('%s=%d'%('spam',42)) #如果将%d 改成%s 只适合2.X版本。3.0版本默认错误
print('{0}={1}'.format('spam',42))

# template = '%s,%s,%s'
# s1= template %('spam','ham','eggs')
# print(s1)
template = '%s,%s,%s'%('spam','ham','eggs') #字符串可以
print('template:',template)
template1 = '%(spam)s,%(ham)s and %(eggs)s'
s2 = template1% dict(spam='motor',ham='pork',eggs='food') #template 加了引导让我自己纠正好久 哎
print(s2)

#def 函数中 return会结束for的遍历
import  sys
data= dict(platform= sys.platform,spam='laptop')
data2='My {1[spam]:<8} runs {0.platform:>8}'.format(sys,{
     'spam':'laptop'})
print(data2)

data3 ='My %(spam)-8s runs %(platform)8s'%data
print('data3为:',data3)

print(9999999999)
print('{0:d}'.format(9999999999)) #可以直接全部打印
print('{0:,d}'.format(9999999999)) #   整数起,d右边起每3位一个,
print('{0:,.2f}'.format(999999.269))


# 数字(整数、浮点数、二进制、分数等)
# 支持加法和乘法等。
# 序列(字符串、列表、元组)
# 支持索引、分片和合并等。
# 映射(字典)
# 支持通过键的索引等。

# 不可变类型(数字、字符串、元组、不可变集合)
# 不可变的分类中没有哪个对象类型支持原处修改,尽管我们总是可以运行表达式来
# 创建新的对象并将其结果分配给变量。
# 可变类型(列表、字典、可变集合)
# 相反,可变的类型总是可以通过操作原处修改,而不用创建新的对象。尽管这样的
# 对象可以复制,但原处修改支持直接修改。

#总结:字符串find方法能用于搜索列表吗?
# 答案:不行,因为方法是类型特定的,只能用于单一数据类型上。像x+Y这样的表达式和
# len(x)这样的内置函数是通用的,可以用于多种类型上。在这个例子中,in关系
# 表达式和字符串查找具有类似的效果,但它可以用来查找字符串和列表。在 Python
# 3.0中,有一些对方法分组的尝试(例如,不可变序列类型list和 bytearray具有类
# 似的方法集合),但方法仍然比其他的操作集更特定于类型。

print('-------列表与字典-------------')
print('-------1、列表常用知识点,初学细看,对于以后规范写作有帮助-------------')
#  L.append(4) #方法:增长,排序,搜索,插入,反转等
#  L.extend([5,6,7])
#  L.insert(I,)
#  L.index(1)
#  L.Count(x)
#  L. sort()
#  L.reverse()
#  del L[k]  #方法,语句:缩短
#  del L[i: j]
#  L.pop()
#  L. remove(2)
# L[i:j]=[
# L[i]=1 #索引赋值,分片赋值
# L[i:j]=[4,5,6]
# L=[x**2 for in range(5)] #列表解析
#  list(map(ord,'spam'))

len = len([1,2,3])
print(len)
len1 =[1,2,3]+[4,5,6]
len2= ['Ni!']*4
print('len1,len2为:',len1,len2)

len3 ='34'+str([1,2])
len4=[3,4]+list('12')
len5=[3,4]+[1,2]
print(len3,len4,len5)

print(3 in [1,2,3])
for x in [1,2,3]:  #for 或者 函数 记得加 :
    print(x,end='')  #不换行 慎重,所以下面采用 \n

print('\n','-------2、列表解析和迭代-----------') #\n用法具体查看我原来的说明或者搜索
len6 = []
for x in '※❤△▲○':
    len6.append(x*4)
print(len6)   #看看上下2个print位置,结果不一样

len6 = []
for x in '※❤△▲○':
    len6.append(x*4)
    print(len6) #看看上下2个print位置,结果不一样,适合9*9乘法表

len7= list(map(abs,[-2,-1,0,1,2])) # abs绝对值, map()它接收一个函数 f 和一个 可迭代对象(这里理解成 list),并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
print(len7)

print('------3、列表函数和map交叉使用-----------')
def f(x):   #函数应用
    return x*x
print(list(map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])))

def f(s):
    return s[0:1].upper() + s[1:].lower()  #修改列表中不规范格式。
list1 = ['lll', 'lKK', 'wPy']
a = map(f, list1)
print(a)
print(list(a))

print('------3、列表索引分片和矩阵-----------')
matriex = [[1,2,3],
           [4,5,6],
           [7,8,9]]
print(matriex[1][1],matriex[1])
print(matriex.append([10,11,13])) #append 只能简单将一个单项(对象引用)加至列表末端,允许传入的单一对象,而不是列表,python3不支持。
print(matriex.append('10'))  #各种不规则麻烦,建议用下面语句

matriex1 = [[1,2,3],
           [4,5,6],
           [7,8,9]]
matriex1[0]=[10,11,12]  #修改推荐用这种方法
matriex1[2]=[13,14,15]
print(matriex1)

print('------4、append\pop()用法-----------')
#三种不同顺序得出不同结论
L=[]
L.append(1)
L.append(2)
print(L)
L.pop() #移除最后一个数值,如果这语句放上面也会修改上面列表。
print(L)

L=[]
L.append(1)
L.append(2)
print(L,L.pop())

L=[]
L.append(1)
L.append(2)
L.pop()
print(L)

l1 = ['spam','eggs','ham']
print(l1.index('eggs')) #index() 方法检测字符串中是否包含子字符串 str
l1.insert(1,'orange')  #不加定义变量
l2= l1.insert(1,'orange')
print(l1,l2)

print('------5、del L()用法-----------')
l3 = ['spam','eggs','ham']
del l3[0]   #与前面不一样
print('l3值为:',l3)

print('------二、字典用法下次学习再附上-----------')

你可能感兴趣的:(自学,列表,字符串,python,自然语言处理,经验分享)