学Python最基本20个代码__3

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()函数用于将一个课遍历的数据对象(如上图的列表,字符串)组合为一个索引序列。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dragon~echo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值