python基础

字符串打印不显示,看类型的时候可以看出来。

a = "abc"
new_list = list(a)
>>['a', 'b', 'c']

a= "a,b,c"
new_list = a.split(',')
>>['a','b','c']
整数的反转做一半做不下去了,整数转字符串转列表反转列表的方法,比较麻烦,还在字符串转整数的时候,前面有0给卡住了,这个方法在判断列表/字符串正负那里是可行的,接下来直接做就可以。还有一种方法就是先判断正负,复数就先转换成整数,避免数值溢出,转整数的时候再乘上-1就可以,要加判断语句,判断数值避免溢出。

#不只有列表反转还有字符串反转, #虽然没有内置函数,但是可以直接用切片反转

def reverse(x):
    l = str(x)
    l1 = list(l)
    if l1[0] != "-":
        l2 = reversed(l1)
        #这里不用再考虑if l2[0] != "0":
            l3 = ''.join(l2)
            l4 = int(l3)
    else:
    return l4
if __name__ =='__main__':

    a = reverse(123)
    print(a)

zip的使用

import numpy as np
a=[1,2,3,4,5]
b=(1,2,3,4,5)
c=np.arange(5)
d="zhang"
zz=zip(a,b,c,d)
print(zz)

输出:
[(1, 1, 0, 'z'), (2, 2, 1, 'h'), (3, 3, 2, 'a'), (4, 4, 3, 'n'), (5, 5, 4, 'g')]

import numpy as np
a=[1,2,3]
zz=zip(a)
print(zz)

输出:[(1,), (2,), (3,)]

import numpy as np
a=[1,2,3]
b=[1,2,3,4]
c=[1,2,3,4,5]
zz=zip(a,b,c)
print(zz)

输出:[(1, 1, 1), (2, 2, 2), (3, 3, 3)]

zip() 和 * 操作符一起操作可以用来 unzip 一个列表,看下面的代码

import numpy as np
a=[1,2,3]
b=[4,5,6]
c=[7,8,9]
zz=zip(a,b,c)
print(zz)

x,y,z=zip(*zz)
print(x)
print(y)
print(z)

输出:
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
(1, 2, 3)
(4, 5, 6)
(7, 8, 9)

最长的字符串 炫技:

class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
       ans = ''
       for i in zip(*strs):
           if len(set(i)) ==1:
               ans += i[0]

           else:
                break
       return ans



class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        if not strs:
            return ''
        s = ''
        str0 = min(strs)
        str1 = max(strs)
        for i in range(len(str0)):
            if str0[i] != str1[i]:
        #         #s = str0[:i]
        # return s
                return str0[:i]
        return str0


关于遍历文件夹和子目录下的文件:神器!!!对于不同的深度层数都适用。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值