- string.lower() 不改变原来的string,只会生成副本
- string.index(i) 返回的是字符串中第一个匹配到i的索引,当字符串中有多个相同字符时,该方法不能用于返回某些字符的当前索引
- string.replace(" ","") 不改变原来的string,只会生成副本。用于清除字符串任意位置的空格
- string.rstrip()、string.lstrip()、string.strip() 不改变原来的string,只会生成副本。用于清除字符串末尾、开头和两边的空白
- string.split(str=" ",num) 分隔符默认是空格,不能是空
- 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
- srting.endswith(str),string.startswith(str) :以str开头或者结尾的字符串
- 要将十进制数转换为二进制,可以使用Python的内置函数
bin(),
输出的结果是一个二进制字符串,前面带有`0b`前缀。- 要将十进制数转换为八进制,可以使用Python的内置函数
oct(),
输出的结果是一个八进制字符串,前面带有`0o`前缀。- 要将十进制数转换为十六进制,可以使用Python的内置函数
hex(),
输出的结果是一个十六进制字符串,前面带有`0x`前缀。- 十六进制、八进制或者二进制转换成十进制,只需要一个函数int(num,16)、int(num,8)、int(num,2)
- Python 中的 count() 函数是一种内置函数,用于计算给定元素在字符串或列表中出现的次数,该函数的入参类型和字符串或者列表中元素类型一定要保持一致,否则会报错:类型错误
- 列表推导式:[i for i in range(1,num+1) if i%2==0],注意先写for循环再写if判断
- 方法改变原件,不生成副本:.sort()、.reverse()
- 左补0函数:zfill()函数
- zfill()语法说明:str.zfill(width)
zfill() 其中,str表示这里要对一个字符串类型string进行操作,如果是整型、浮点型这样的数字类型,要先通过str()函数转化为字符串,才可以进行相关的操作;
width表示进行补零之后的字符串的长度,如果补零后的长度小于或等于原字符串的长度,那么字符串将不会产生任何的变化(该长的短不了)
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'
.python判断单词的首字母是不是大写,用到方法istitle():语法是str.istitle()
Python的ord()函数,功能是返回给定UniCode字符的整数表示。与之相对应的是函数chr(),可以将整数转换为对应的ASCII码。
可迭代对象的排序函数sorted(),
sorted(iterable, cmp=None, key=None, reverse=False)不过python3已经没有cmp参数了,取而代之的是functools.cpm_to_key()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获取字典的值
获取字典的值可以使用以下不同的实现方法:
-
使用键(key)来直接获取值:
my_dict = {'key1': 'value1', 'key2': 'value2'}
value1 = my_dict['key1']
value2 = my_dict.get('key2')
-
使用
get()
方法来获取值,如果键不存在,可以设置默认值:my_dict = {'key1': 'value1', 'key2': 'value2'}
value1 = my_dict.get('key1', 'default_value')
value3 = my_dict.get('key3', 'default_value')
-
使用
values()
方法获取所有的值,返回一个值的迭代器,可通过迭代或转换为列表来访问:my_dict = {'key1': 'value1', 'key2': 'value2'}
all_values = my_dict.values() # 返回一个迭代器
value_list = list(my_dict.values()) # 转换为列表
-
使用
items()
方法获取所有的键值对,返回一个键值对元组的迭代器:my_dict = {'key1': 'value1', 'key2': 'value2'}
all_items = my_dict.items() # 返回一个迭代器
item_list = list(my_dict.items()) # 转换为列表
注意:以上方法中,如果字典中不存在指定的键,则第一种和第二种方法会抛出KeyError异常,而第二种方法会返回指定的默认值。
-
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方法,用空字符替换指定字符。