Python处理字符串和列表元组的小技巧

时间:2022-09-07 14:21:53

变量值互换

a = 1
b = 100
# 变量值互换
a, b = b, a print('a:', a)
print('b:', b)

输出结果:

a: 100
b: 1

### 多个变量赋值
```python
a, b, c = 1, 2, 3

print(a, b, c)


输出结果:
```shell
1 2 3

### join()方法

使用join()方法可以将字符串或者列表元组,按照指定的间隔字符串合成一个新的字符串。

string = 'Hello World'
joined_string = '~'.join(string) date_list = ['2019', '12', '21']
joined_list_string = '-'.join(date_list) print(joined_string)
print(joined_list_string)

输出结果:

H~e~l~l~o~ ~W~o~r~l~d
2019-12-21

### 字符串切割split()

name = 'Miles,Tony,Mary'
# 以逗号切割
print(name.split(',')) sentences = '''
Miles is male, age is 24
Tony is male, age is 37
Mary is female, age is 15
'''
# 先去掉字符串头尾的空格,然后以换行符切割
print(sentences.strip().split('\n'))

输出结果:

['Miles', 'Tony', 'Mary']
['Miles is male, age is 24', 'Tony is male, age is 37', 'Mary is female, age is 15']

### 三元表达式

point = 34
# 如果分数大于等于60就通过,否则不通过
status = 'pass' if point >= 60 else 'fail' print(status)

输出结果:

fail

### 列表推导式
```python
li = [10, 23, 45, 68, 79, 91]
# 取出li列表中大于60的元素并乘以10组成一个新列表
new_li = [i*10 for i in li if i > 60]

print(new_li)


输出结果:
```shell
[680, 790, 910]

### 遍历列表逆序

li = [1, 2, 3, 4, 5]
for i in reversed(li):
print(i)

输出结果:

5
4
3
2
1

### 列表去重

li = [1, 2, 3, 1, 2, 3]
# 将列表转换为集合自动去重,再转回列表
li = list(set(li)) print(li)

输出结果:

[1, 2, 3]

### with关键字
在执行完with代码块中的代码,系统会自动调用close()方法,哪怕代码报异常。
```python
# 离开with代码块后自动调用file.close()
with open('test.txt') as file:
file.read()
```

### enumerate枚举函数
用于枚举可迭代对象,同时返回下标索引。

li = ['Miles', 'Tony', 'Mary']

for index, name in enumerate(li):
print(index, name)

输出结果:

0 Miles
1 Tony
2 Mary

### 列表元组解包

li = [1, 2, 3, 4]

var1, var2, var3, var4 = li
print(var1, var2, var3, var4)
print('--------') first, *mid, last = li
print(first)
print(mid)
print(last)

输出结果:

1 2 3 4
--------
1
[2, 3]
4

### 字符串填充对齐

left = 'left'.ljust(20, '*')
mid = 'mid'.center(20, '*')
right = 'right'.rjust(20, '*') print(left)
print(mid)
print(right)

输出结果:

left****************
********mid*********
***************right

### zip()同步处理多个列表

name_list = ['Miles', 'Tony', 'Mary']
gender_list = ['male', 'male', 'female']
age_list = [24, 37, 15] for name, gender, age in zip(name_list, gender_list, age_list):
print('%s is %s, age is %d' % (name, gender, age))

输出结果:

Miles is male, age is 24
Tony is male, age is 37
Mary is female, age is 15

### all()和any()
对于all(),可迭代参数中所有元素都为True则返回True,即只要有一个元素为空、0或者False,就返回False.
注意空串,空列表元组,all()返回为True!
对于any(),和all()正好相反,只有可迭代参数中有一个元素为True就返回True,否则返回False.

all('abc')                  # True
all(['a', 'b', 'c']) # True
all(['', 'x', 'y']) # False
all([1, 2, 3]) # True
all([0, 1, 2]) # False
# 注意空串,空列表元组,all()返回为True
all([]) # True
all(()) # True
all('') # True any('') # False
any([]) # False
any(()) # False
any(['', 'x', 'y']) # True
any([0, 1, 2]) # True
any([0, '', False]) # False

Python处理字符串和列表元组的小技巧的更多相关文章

  1. python之字符串、列表和元组

    先简单的了解一下两个相关概念 模块 python中的模块需要使用特殊的命令import来导入.格式:模块.函数.如下: 在确定自己不会导入多个同名函数的情况下,可以使用import命令的另外一种形式: ...

  2. python :字符串,列表,元组,集合,字典

    字符串方法: 字符串是一个有序的,不可修改的,元素是以引号包围的序列.单引号,双引号,三引号,str生成 字符串的修饰   a='novo gene' a.center() 让字符串在指定的长度居中显 ...

  3. python 基础篇 04(列表 元组 常规操作)

    本节主要内容:1. 列表2. 列表的增删改查3. 列表的嵌套4. 元组和元组嵌套5. range 一. 列表1.1 列表的介绍列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. ...

  4. python基础数据类型之列表,元组操作

    一.列表的索引和切片1.列表的索引列表和字符串一样样拥有索引 lst = ["a","b","c"] print(lst[0]) # 获取第 ...

  5. python的字符串、列表、字典和函数

    一.字符串 在python中字符串无需通过像php中的explode或者javascript中的split进行分解即可完成切片,可以直接通过下标获取字符串中的每一个字符,下标从0开始,如果从厚望签署, ...

  6. Python中字符串转换列表

    前言:在使用Python完成工作中一些任务的时候,常常要对数据类型进行转换,比如字符串转列表,列表转字符串,字符串转元组等等,下面分享一下常用的字符串转列表 字符串转列表 第一种字符串转列表: t_s ...

  7. python中字符串与列表的相互转换

    列表转字符串 list1 = ['abc' , 'def' , 'ghi'] str1 = ','.join(list1) str1 = '##'.join(list1) 字符串转列表 str1 = ...

  8. Python入门:数据结构的3个小技巧

    这是关于Python的第11篇文章,主要介绍下数据结构的3个小技巧. 排序: 使用sorted函数实现排序. sorted函数按照长短.大小.英文字母的顺序给每个列表的元素进行排序.这个函数经常在数据 ...

  9. python基础知识5——赋值与深浅拷贝——整数和字符串,列表元组字典

    深浅copy 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 import copy 2 # ######### 数字.字符串 #### ...

随机推荐

  1. 中医与DBA

    很多药方,只要吃不死,总有一款适合你.哈哈.我要做西医,先检查身体,再了解每种药的作用,做到对症下药.

  2. APP-PER-50022: Oracle Human Resources could not retrieve a value for the User Type profile option.

    Symptoms ----------------------- AP > Setup > Organizations Show Error tips: APP-PER-50022: Or ...

  3. php之文件上传类代码

    /* 单个文件上传 功能 上传文件 配置允许的后缀 配置允许的大小 获取文件后缀 判断文件的后缀 报错 */ class UpTool{ protected $allowExt = 'jpg,jpeg ...

  4. knockoutjs简单使用

    knockoutjs是一个不错的前端MVVM框架,极大的减轻了前端工作开发量,增加前端代码的维护性.主要特点:声明式绑定.依赖跟踪.模块开速开发. 如下代码(官方代码稍做修改) <p> 姓 ...

  5. Python基础知识学习&lowbar;Day1

    1,python介绍 诞生于1989年圣诞节,目前越来越受到业界认可.应用领域十分广泛 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发: 众多优秀的WEB框架,众多大型网站均为P ...

  6. Watson Explorer Analytical Components 1

    Introduction: IBM Watson Explorer Analytical Components(AC) which is part of the IBM Watson Explorer ...

  7. Mac 下安装node&period;js

    Node.js 简介 Node.js 是一个用Chrome's V8 JavaScript engine 构建的 JavaScript 运行时框架.Node.js 使用事件驱动.非阻塞式 I/O 模块 ...

  8. 分析easyswoole3&period;0源码,consoleTcpService(六)

    前文讲过可以通过配置开启一个tcp服务,叫做consoleTcpservice.EasySwoole\EasySwoole\Core::83行 (new TcpService(Config::getI ...

  9. vue的单向数据流

    父级向子组件传递的值, 子组件不能直接修改这个穿过来的值,否则会曝出警告,这就是单项数据流. 如果是引用值,传递的是引用值得地址,而不是值本身,也就是说,子组件里修改这个传过来的值,通常的做法是放到它 ...

  10. mongodb-mms安装

    mms是mongo集群监控软件. mms非常吃内存,虚拟机测试时,3G内存启动成功一次,之后重启时失败,建议不少于4G内存. MMS下载地址: https://downloads.mongodb.co ...