python 刷题时掌握的小知识

  1. string.lower()   不改变原来的string,只会生成副本
  2. string.index(i)   返回的是字符串中第一个匹配到i的索引,当字符串中有多个相同字符时,该方法不能用于返回某些字符的当前索引
  3. string.replace(" ","")   不改变原来的string,只会生成副本。用于清除字符串任意位置的空格
  4. string.rstrip()、string.lstrip()、string.strip()   不改变原来的string,只会生成副本。用于清除字符串末尾、开头和两边的空白
  5. string.split(str=" ",num)   分隔符默认是空格,不能是空
  6. python3中,a/b返回的是完整的值,即商加余数,也就意味着是有零有整的,带小数点的,这个值的类型一定是浮点型,跟a和b的类型无关。a//b,返回的值只保留整数部分,不包含余数,如果a或b是浮点型,那么结果就是浮点型。
    print(8/4)   #2.0
    print(8/3)   #2.6666666666666665
    print(8//3)  #2
    print(8//3.0)  #2.0
  7. srting.endswith(str),string.startswith(str) :以str开头或者结尾的字符串
  8. 要将十进制数转换为二进制,可以使用Python的内置函数bin(),输出的结果是一个二进制字符串,前面带有`0b`前缀。
  9. 要将十进制数转换为八进制,可以使用Python的内置函数oct(),输出的结果是一个八进制字符串,前面带有`0o`前缀。
  10. 要将十进制数转换为十六进制,可以使用Python的内置函数hex(),输出的结果是一个十六进制字符串,前面带有`0x`前缀。
  11. 十六进制、八进制或者二进制转换成十进制,只需要一个函数int(num,16)、int(num,8)、int(num,2)
  12. Python 中的 count() 函数是一种内置函数,用于计算给定元素在字符串或列表中出现的次数,该函数的入参类型和字符串或者列表中元素类型一定要保持一致,否则会报错:类型错误
  13. 列表推导式:[i for i in range(1,num+1) if i%2==0],注意先写for循环再写if判断 
  14. 方法改变原件,不生成副本:.sort()、.reverse()
  15. 左补0函数:zfill()函数
  16. zfill()语法说明:str.zfill(width)
  17. zfill()  其中,str表示这里要对一个字符串类型string进行操作,如果是整型、浮点型这样的数字类型,要先通过str()函数转化为字符串,才可以进行相关的操作;

               width表示进行补零之后的字符串的长度,如果补零后的长度小于或等于原字符串的长度,那么字符串将不会产生任何的变化(该长的短不了)

  18. zfill()  实例操作:

    
    >>> a="imbatman"
    >>> a.zfill(10)
    '00imbatman'
    >>> a=100
    >>> a.zfill(10)
    Traceback (most recent call last):
      File "<pyshell#3>", line 1, in <module>
        a.zfill(10)
    AttributeError: 'int' object has no attribute 'zfill'
    >>> a="ihavethehighground"
    >>> a.zfill(10)
    'ihavethehighground'
    
  19. .python判断单词的首字母是不是大写,用到方法istitle():语法是str.istitle()

  20. Python的ord()函数,功能是返回给定UniCode字符的整数表示。与之相对应的是函数chr(),可以将整数转换为对应的ASCII码。

  21. 可迭代对象的排序函数sorted(),

    sorted(iterable, cmp=None, key=None, reverse=False)不过python3已经没有cmp参数了,取而代之的是functools.cpm_to_key()
  22. import functools
    L=[('b',2),('a',1),('c',0),('d',4)]
    a = sorted(L, key=functools.cmp_to_key(lambda x,y : x[1]-y[1]))
    b = sorted(L, key=lambda x : x[1])
    print(a,b) #[('c', 0), ('a', 1), ('b', 2), ('d', 4)] [('c', 0), ('a', 1), ('b', 2), ('d', 4)]
    
    1、代码中的x和y是指列表中的每一个元素,即自动遍历
    2、(lambda x,y : x[1]-y[1]):如果x想要排在y前面,则需要x[1]-y[1]的结果小于0;如果x想要排在y后面,则需要y[1]-x[1]小于0。这部分理解参考知乎贴:​
    https://zhuanlan.zhihu.com/p/505195096?utm_id=0
    
    ​
    

1、set集合的交集操作符&:可以找到两个集合的相同元素;set集合的方法intersection()可以找到两个集合的相同元素。

delta = set(list1)&set(list2)

delta = set(list1).intersection(set(list2))

2、列表的合并方法,可以用+

a = [1,2,3,4]
b = [23,4,5]
print(a+b)   #[1, 2, 3, 4, 23, 4, 5]

3、

str1 = "computer"
str2 = "router"
str1 = list(str1)
str2 = list(str2)
inter1 = list(filter(lambda x : x in str1,str2))
print(inter1)
if inter1 :
    print(len(str1) - len(inter1) + len(str2) - len(inter1))
    
返回的结果是:['r', 'o', 'u', 't', 'e', 'r']  2

str1 = "computer"
str2 = "router"
str1 = list(str1)
str2 = list(str2)
inter1 = list(filter(lambda x : x in str2,str1))
print(inter1)
if inter1 :
    print(len(str1) - len(inter1) + len(str2) - len(inter1))

返回的结果是:['o', 'u', 't', 'e', 'r']  4

4、

python获取字典的值

获取字典的值可以使用以下不同的实现方法:

  1. 使用键(key)来直接获取值:

    my_dict = {'key1': 'value1', 'key2': 'value2'}

    value1 = my_dict['key1']

    value2 = my_dict.get('key2')

  2. 使用get()方法来获取值,如果键不存在,可以设置默认值:

    my_dict = {'key1': 'value1', 'key2': 'value2'}

    value1 = my_dict.get('key1', 'default_value')

    value3 = my_dict.get('key3', 'default_value')

  3. 使用values()方法获取所有的值,返回一个值的迭代器,可通过迭代或转换为列表来访问:

    my_dict = {'key1': 'value1', 'key2': 'value2'}

    all_values = my_dict.values() # 返回一个迭代器

    value_list = list(my_dict.values()) # 转换为列表

  4. 使用items()方法获取所有的键值对,返回一个键值对元组的迭代器:

    my_dict = {'key1': 'value1', 'key2': 'value2'}

    all_items = my_dict.items() # 返回一个迭代器

    item_list = list(my_dict.items()) # 转换为列表

    注意:以上方法中,如果字典中不存在指定的键,则第一种和第二种方法会抛出KeyError异常,而第二种方法会返回指定的默认值。

  5. python获取字典的键

    获取字典的键可以使用以下几种方法:

    方法一: 使用keys()方法

    my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}

    keys = my_dict.keys()

    print(keys) # dict_keys(['name', 'age', 'gender'])

    这种方法返回一个dict_keys类型的对象,它可以用于迭代或转换为列表。

    方法二: 使用list()方法转换为列表

    my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}

    keys = list(my_dict)

    print(keys) # ['name', 'age', 'gender']

    这种方法将字典的键转换为列表,可以直接使用或进行进一步处理。

    方法三: 使用for循环迭代字典的键

    my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}

    for key in my_dict:

    print(key) # 'name', 'age', 'gender'

    这种方法通过for循环直接迭代字典的键。

    方法四: 使用iterkeys()方法

    my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}

    keys = my_dict.iterkeys()

    print(keys) # <dictionary-keyiterator object at 0x000001>

    这种方法返回一个迭代器对象,可以用于按需获取键的值。

    这些方法都能够正确获取字典的键,可以根据具体的需求选择适合的方法使用。

1、元组排序之后得到的是列表,不再是元组,切记。

a = (1,2,3,7,4)
a = sorted(a)
print(type(a))   #<class 'list'>

2、排列组合模块的实践:具体介绍参考收藏

from itertools import  permutations,combinations
a = ["1","2","3"]   #对字符串进行排列组合
for i in permutations(a,2):
    print(type(i))    #<class 'tuple'>
    x = ''.join(i)
    print (x,end=' ')  #12 13 21 23 31 32
print ('\n------------------------------------')
for i in combinations(a,2):
    print(type(i))   #<class 'tuple'>
    x = ''.join(i)
    print (x,end=' ')  #12 13 23
print ('\n------------------------------------')

3、列表直接赋值和列表切片赋值的区别

4、删除字符串中指定字符可以用replace方法,用空字符替换指定字符。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值