11.统计列表中元素的频率
from collections import Counter
list10=['P','p','‘y',t','t','h','o','o','0','n']
count = Counter(ilst10)
print(count)
print(oount['P'])
print(count.most_common(1))
#手动实现
dict l = {}
for i in 1int10:
if i in dictl:
dict1[i] += 1
else:
dict1[i] = 1
print(max(dictl, key-lambdn x:dict1[x1])}
运行结果
Counter({'o': 3, 't': 2, 'h': 1,'n': '1', 'n': 1, 'y': 1, 'P': 1, 'p': 1})
1
[('o',3)]
0
我们可以直接调用collections中的Counter类来统计元素的数量,当然也可以自己来实现这样的统计,但是从简洁性来讲,还是以Counter的使用比较方便。
12.判断字符串所含元素是否相同
str11_1, str11_2, str11_3 = "qwert", "qertw", “reqtw"
cn_ strll_1, cn_str11_2, cn_str11_3 = Counter(strll_1),
Counter(str11_2),
Counter(str11_3)
if(cn_str11_1 == cn_str11_2 and cn_str11_2 == cn_str11_3):
print("三个字符串所含元素相同")
运行结果
三个字符串所含元素相同
Counter函数还可以用来判断字符串中包含的元素是否相同,无论字符串中元素顺序如何,只要包含相同的元素和数量,就认为其是相同的。
13.将数字字符串转化为数字列表
str19 = “2345343"
#方法1
list19——1 = list(map(int, str19))
print(list19_1)
print(=========================")
#方法2
list19_2 = [int(i) for 1 in str19]
print(list19_2)
运行结果
[2,3, 4, 5, 3, 4, 3]
=========--==-=========
[2,3, 4, 5,3,4, 3]
上述程序中,方法1利用的map函数,map函数可以将str19中的每个元素都执行int函数,其返回的是一个迭代器,利用list函数来将其转化为列表的形式。注意,在python2中执行map函数就会直接返回列表,而python3做了优化,返回的是迭代器,节省了内存。
14.使用try-except-finally模块
a = 1
b = 4
try:
a.append(b)
except AttributeError as e:
print("'a'不是一个列表!")
e1se:
print(a)
finally:
print("程序结束")
a = []
b = 4
try:
a.append(b)
except AttributeError as e:
print("'a'不是一个列表!")
else:
print(a)
finally:
print("程序结束" )
运行结果
'a' 不是一个列表!
程序结束
====================
[4]
程序结束
当我们在执行程序时,可能会遇到某些不可预知的错误,使用try-except可以帮助我们去捕获这些错误,然后输出提示。注意,如果需要程序无论是否出错,都要执行一- 些程序的化,需要利用finally来实现。
15.使用enumerate()函数来获取索引--数值对
str13 = "Python"
list13 = [1, 2, 3, 4, 5]
for i, j in enumerate(str13):
print(i,j)
print("====================")
for i, j in enumerate(list13):
print(i, j)
运行结果
0 P
1 y
2 t
3 h
4 o
5 n
=======================
0 1
1 2
2 3
3 4
4 5
enumerate()函数用于将一个课遍历的数据对象(如上图的列表,字符串)组合为一个索引序列。