Python程序:按标点符号计数排序字符串
当需要按照标点符号计数对字符串进行排序时,定义一个方法,它以字符串作为参数,使用列表推导式和’in’运算符来确定结果。
下面是一个例子 –
示例
from string import punctuation
def get_punctuation_count(my_str):
return len([element for element in my_str if element in punctuation])
my_list = ["python@%^", "is", "fun!", "to@#r", "@#$learn!"]
print("列表为:")
print(my_list)
my_list.sort(key = get_punctuation_count)
print("结果为:")
print(my_list)
输出
列表为:
['python@%^', 'is', 'fun!', 'to@#r', '@#learn!']
结果为:
['is', 'fun!', 'to@#r', 'python@%^', '@#learn!']
说明
-
将所需的包导入到环境中。
-
定义了一个名为“get_punctuation_count”的方法,接受字符串作为参数,并使用列表推导式迭代元素。
-
它检查字符串是否包含标点符号。
-
它返回包含标点符号的字符串的长度作为输出。
-
在方法外部,定义了一个列表并在控制台上显示它。
-
使用’sort’方法对列表进行排序,并将键指定为先前定义的方法。
-
这是在控制台上显示的输出。