4. 有一个已经排好序的列表。现输入一个数,要求按原来的规律将它插入列表中
s=list(range(10))
print(s)
number=int(input('请输入一个数:'))
for i in range(len(s)):
if s[i]==number:
s.insert(i,number)
break
print(s)
5. 统计名字列表中,各名字的首字母在名字列表中出现的次数
name_list = ["hhq","rob","hu","roni","zhangsan","lisi"]
result={}
cap_name_list=[]
for name in name_list:
for i in name:
cap_name_list.append(i[0])
break
print(cap_name_list)
for i in cap_name_list:
result[i]=cap_name_list.count(i)
print(result)
6. 字符替换
1)读入一个字符串
2)去掉字符串的前后空格
3)如果字符串包含数字则1替换成a,2替换成b,3替换成c,以此类推
4)将字符串使用空格进行切分,存到一个列表,然后使用*号连接,并输出
5)把这些功能封装到一个函数里面,把执行结果作为返回值
import string
def func(s):
s=s.strip()
for i in s:
if i=='1':
s=s.replace(i,'a')
if i=='2':
s=s.replace(i,'b')
if i=='3':
s=s.replace(i,'c')
s=s.split()
return '*'.join(s)
s=input('请输入一个字符:')
print(func(s))
7、找出字符串中出现次数最多的字符,并输出其出现的位置
s = "adsfdsfasadsafasfddssf"
letter_dict={}
letter_index=[]
for i in s:
letter_dict[i]=s.count(i)
letter=sorted(letter_dict)[-1]
print('出现次数最多的字符:',letter)
for i in range(len(s)):
if s[i]==letter:
letter_index.append(i)
print(letter_index)
s = "adsfdsfasadsafasfddssf"
letter_dict={}
letter_index=[]
for i in s:
letter_dict[i]=s.count(i)
print(letter_dict)
for k,v in letter_dict.items():
if letter_dict[k]==max(letter_dict.values()):
letter=k
print('出现次数最多的字符是:',letter)
for i in range(len(s)):
if s[i]==letter:
letter_index.append(i)
print('出现次数最多字符的位置是:',letter_index)
8、找出一段句子中最长的单词及其索引位置,以字典返回字符串的练习题
import string
s = "the pepople republic of china! hhhhhhhh"
result={}
max_length_word=[]
for i in s:
if i in string.punctuation:
s=s.replace(i,'')
print(s)
new_s=s.split()
length=len(sorted(new_s,key=len)[-1])
for i in new_s:
if len(i)==length:
max_length_word.append(i)
print(max_length_word)
for i in max_length_word:
result[i]=s.index(i)
print(result)