1.判断一个值是否在字典的key中,只需要用in判断即可
dic={'a':1,'b':2}
if 'a' in dic:
print(dic['a'])
2.一个整数转为数组,一个数组表示的整数转回整数
# 整数转数组
nums=[int(x) for x in str(n)]
1234
[1,2,3,4]
#数组转整数
int(''.join(str(item) for item in nums))
[1,2,3,4]
1234
3.用字典统计字符串中每个字符出现的频率
统计数组中元素出现的频率
s = 'leetcode'
frequency = collections.Counter(s)
Counter({'e': 3, 'l': 1, 't': 1, 'c': 1, 'o': 1, 'd': 1})
dic = {i: all_tnp.count(i) for i in set(all_tnp)}
['b', 'ba', 'ban', 'bana', 'banan', 'banana', 'a', 'an', 'ana', 'anan', 'anana', 'n', 'na', 'nan', 'nana', 'a', 'an', 'ana', 'n', 'na', 'a']
{'ba': 1, 'banana': 1, 'anana': 1, 'ban': 1, 'nana': 1, 'anan': 1, 'n': 2, 'na': 2, 'b': 1, 'bana': 1, 'an': 2, 'ana': 2, 'nan': 1, 'a': 3, 'banan': 1}
4.两数相加(模板)
while ( A 没完 || B 没完)
A 的当前位
B 的当前位
和 = A 的当前位 + B 的当前位 + 进位carry
当前位 = 和 % 10;
进位 = 和 / 10;
判断还有进位吗
leetcode2,leetcode989
5.套嵌列表排序
arr = [['a', 2], ['b', 1], ['c', 3]]
arr.sort(key=lambda x: x[1])
[['b', 1.0], ['a', 2.0], ['c', 3.0]]
删除多余的最小元素,输出第二小的全部name(按照字母排序)
'''
先对数字排序,选出第二小的数字
循环输出数字相等的name
'''
arr = [['Harsh', 20], ['Beria', 20], ['Varun', 19], ['Kakunami', 19], ['Vikas', 21]]
s = sorted(set([x[1] for x in arr]))
print(s)
for name in sorted(x[0] for x in arr if x[1] == s[1]):
print(name)
Beria
Harsh
6.将列表里的字符串,分行打印
result = ['Beria', 'Harsh']
print(result)
print(*result, sep="\n")
['Beria', 'Harsh']
Beria
Harsh
7.执行表达式语句
x = 10
def func():
y = 20
a = eval('x + y')
print('a: ', a)
b = eval('x + y', {'x': 1, 'y': 2})
print('b: ', b)
c = eval('x + y', {'x': 1, 'y': 2}, {'y': 3, 'z': 4})
print('c: ', c)
d = eval('print(x, y)')
print('d: ', d)
func()
a: 30
b: 3
c: 4
10 20
d: None
8.首字母转为大写与第一个字符转为大写
s = '1 w 2 r 3g'
print(s.title())
print(" ".join([x.capitalize() for x in s.split(' ')]))
首字母转为大写 1 W 2 R 3G
字符串的第一个字符转为大写 1 W 2 R 3g
9.当前字符和当前字符开头的所有子字符串=字符串长度-当前字符的下标
def minion_game(string):
stuart = 0
kevin = 0
for i in range(len(string)):
if string[i] in "AEIOUaeiou":
kevin += len(string) - i
else:
stuart += len(string) - i
if kevin > stuart:
print("Kevin", kevin)
elif stuart > kevin:
print("Stuart", stuart)
else:
print("Draw")
10.按顺序将字符串截成k个元素一组
string, k = 'AABCAAADA', 3
r=[]
for i in range(len(string) + 1):
if len(string[:i]) >= k:
r.append(''.join(string[i - k:i]))
print(r)
['AAB', 'ABC', 'BCA', 'CAA', 'AAA', 'AAD', 'ADA']
11.去除列表中重复的元素并保持顺序不变(也没啥高端的方法)
def remove_duplicates_and_preserve_order(input_string):
unique_chars = []
for char in input_string:
if char not in unique_chars:
unique_chars.append(char)
result_string = ''.join(unique_chars)
return result_string