python 压包和解包
压包zip()----可以把两个list变成1个list;
eg:
s1 = ‘abcde’
s2 = ‘fgh’
for i in zip(s1,s2):
print(i)
1
#输出结果
#(‘a’, ‘f’)
#(‘b’, ‘g’)
#(‘c’, ‘h’)
压包练习:
在迭代 [‘Adam’, ‘Lisa’, ‘Bart’, ‘Paul’] 时,如果我们想打印出名次 - 名字(名次从1开始),请考虑如何在迭代中打印出来。
思路:把名次、名字分别放在1个list中,使用zip()变成1个list; range生成名次的列表
L= [‘Adam’, ‘Lisa’, ‘Bart’, ‘Paul’]
for index, name in zip(range(1,len(L)+1), L):
print(index, ‘-’, name) #结果是
1 - Adam
2 - Lisa
3 - Bart
4 - Paul
1
2
3
4
解包 *str
eg:
s1 =[“flower”,“flow”,“flight”]
print(*s1) #输出flower flow flight
s2 = “flower”
print(*s2)#输出f l o w e r
压包和解包结合
练习:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。 示例 1:
输入: [“flower”,“fl