时间:2022-06-11 10:10:01 | 栏目:Python代码 | 点击:次
字符串反转有很多方法,咱们再这里介绍两种:一种是切片,一种是python字符串的reversed方法。
# -!- coding: utf-8 -!- string = 'hello world' # 方法1 new_str = string[::-1] ic(new_str) # 方法二 new_str2 = ''.join(reversed(string)) ic(new_str2) ''' ic| new_str: 'dlrow olleh' ic| new_str2: 'dlrow olleh' '''
这里咱们也是介绍两种方法,区别之处在于**capitalize()**
仅是首字母大写
**title()**是每个单词开头的首字母都大写
# 首字母大写 string = 'hello python and world' # 方法一 new_str = string.capitalize() ic(new_str) # 方法二 new_str2 = string.title() ic(new_str2) ''' ic| new_str: 'Hello python and world' ic| new_str2: 'Hello Python And World' '''
我们利用set的唯一性来确定字符串的唯一元素:
string = 'hellohellohello' new_str = set(string) # set类型 ic(new_str) # 字符串类型 new_str = ''.join(new_str) ic(new_str) ''' ic| new_str: {'l', 'o', 'h', 'e'} ic| new_str: 'lohe' '''
python
中的变量交换比java简单多了,交换两个变量无需定义第三个中间变量,直接交换即可实现
a = 'hello' b = 'world' ic(a+b) # 直接交换两个变量 a, b = b, a ic(a+b) ''' ic| a+b: 'helloworld' ic| a+b: 'worldhello' '''
列表排序这里我们也提供两种方式。第一个是列表自带的**sort()
方法;第二个是python内置函数sorted()**
方法
score = [88, 99, 91, 85, 94, 85, 94, 78, 100, 80] # 方法一 new_score = sorted(score) ic('默认升序:', new_score) score = [57, 29, 11, 27, 84, 34, 87, 25, 70, 60] # 方法二 new_score2 = sorted(score, reverse=True) ic('设置降序', new_score2) ''' ic| '默认升序:', new_score: [78, 80, 85, 85, 88, 91, 94, 94, 99, 100] ic| '设置降序', new_score2: [87, 84, 70, 60, 57, 34, 29, 27, 25, 11] '''
使用列表推导式可以快速生成一个列表或者根据列表生成满足需求的列表
# 生成10个10-100以内随机整数 numbers = [random.randint(10, 100) for x in range(10)] ic(numbers) # 输入5折后的价格 price = [800, 500, 400, 860, 780, 520, 560] half_price = [(x*0.5)for x in price] ic(half_price) ''' ic| numbers: [64, 22, 80, 70, 34, 81, 74, 35, 85, 12] ic| half_price: [400.0, 250.0, 200.0, 430.0, 390.0, 260.0, 280.0] '''
合并字符串我们使用string
的.join()
方法实现
lists = ['hello', 'world', 'python', 'java', 'c++'] # 合并字符串 new_str = ' '.join(lists) ic(new_str) ''' ic| new_str: 'hello world python java c++' '''
拆分字符串我们使用string的split()
方法实现
string = 'hello world python java c++' string2 = 'hello|world|python|java|c++' # 拆分字符串 new_str = string.split(' ') ic(new_str) new_str2 = string2.split('|') ic(new_str2) ''' ic| new_str: ['hello', 'world', 'python', 'java', 'c++'] ic| new_str2: ['hello', 'world', 'python', 'java', 'c++'] '''
回文串是指aba
、abba
、cccbccc
、aaaa
这种左右对称的字符串。我们可以根据之前提到的切片来检测这种特殊的字符串序列
str = '20211202' if str == str[::-1]: print('yes') else: print('no') ''' yes '''
统计列表中元素各自出现的次数我们使用collections
的Counter
方法
from collections import Counter lists = ['a', 'a', 'b', 'b', 'b', 'c', 'd', 'd', 'd', 'd', 'd'] # 统计所有元素出现的次数 counts = Counter(lists) ic(counts) # 统计某一元素出现的次数 ic(counts['d']) # 统计出现最多次数的一个元素 ic(counts.most_common(1)) ''' ic| counts: Counter({'d': 5, 'b': 3, 'a': 2, 'c': 1}) ic| counts['d']: 5 ic| counts.most_common(1): [('d', 5)] '''