学Python最基本20个代码__2

6.寻找字符串中唯- -的元素

str3 = " wwweeer ftttg "
print(''.join(set(str3)))
#对于列表的筛查
list1 = [2,4,5,6,7,1,2]
print(list(set(list1)))
运行结果
ftgwer
[1,2,4,5,6,7]

在python中,对于唯一值的筛查,首先应该想到对于set的利用,set可以帮助我们快速的筛查重复的元素,上述程序中, set不仅可以对字符串,而且还可以针对列表进行筛查。

7.将元素进行重复

str3 = "python"
list2 = [1, 2, 3]
#乘法表述
print(str3 * 2)
print(list2 * 2)

str3 = "python"
list2 = [1, 2,3]
str3_ _1 = ""
list2_ 1 = []
#加法表述
for i in range(2):
str3_ 1 += str3
list2_ 1.extend(list2)
print (str3_ 1)
print (list2_ 1)
运行结果
pythonpython
[1,2,3,1,2,3]
pythonpython
[1,2,3,1,2,3]

将元素进行重复,可以采用“乘法”的形势,直接乘以原来的元素,也可以采用“加法”的形式,更方便理解。

8.基于列表的扩展


list3 = [2, 2,2,2]
print([2*x for x in list3])

#列表的展开
list4 = [[1,2,3], [4, 5,6],[4, 3],[1]]
print([i for k in list4 for i in k])
运行结果
[4, 4, 4, 4]
[1,2,3,4,5,6,4,3,1]

基于列表的扩展,可以充分利用列表的特性和python语法的简洁性,来产生新的列表,或者将嵌套的列表进行展开。

9.将列表展开

from iteration_utilities import deepflatten
#方法1

list17 = [[12, 5, 3],[2, 4, [5],[6, 9,7]],[5, 8,[9,[10,12]1]]
print(list(deepflatten(list17)))
print("===================================")

#方法2
def flatten(lst):
res = []
for i in lst:
if isinstance(i, list):
res.extend(flatten(i))
else:
res .append(i)
return res
print (flatten(list17))
运行结果
[12,5,3,2,4,5,6,9,7,5,8,9,10,12]
[12,5,3,2,4,5,6,9,7,5,8,9,10,12]

首先,方法1中,我们调用的是iteration_ utilities 中的deepflatten函数,第二种方法直接采用递归的方法,我们自己来实现复杂列表的展平,便可以得到展开后的列表。

10.二值交换

a = 1
b = 2
#方法1
a, b = b, a
print(a, b) #此时a =2,b= 1
#方法2
c = a +b
a = c - a
b = c - a
print(a, b) # 此时a = 1, b = 2,恢复交换之前的值
运行结果
2 1
1 2


Python中的二值交换,可以直接采用交换的方式,如上图的方法1,而方法2所示的方法,借助第三个变量,来实现了两个数值的交换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

dragon~echo

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

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

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

打赏作者

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

抵扣说明:

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

余额充值