Python处理字符串和列表元组的小技巧
变量值互换
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处理字符串和列表元组的小技巧的更多相关文章
- python之字符串、列表和元组
先简单的了解一下两个相关概念 模块 python中的模块需要使用特殊的命令import来导入.格式:模块.函数.如下: 在确定自己不会导入多个同名函数的情况下,可以使用import命令的另外一种形式: ...
- python :字符串,列表,元组,集合,字典
字符串方法: 字符串是一个有序的,不可修改的,元素是以引号包围的序列.单引号,双引号,三引号,str生成 字符串的修饰 a='novo gene' a.center() 让字符串在指定的长度居中显 ...
- python 基础篇 04(列表 元组 常规操作)
本节主要内容:1. 列表2. 列表的增删改查3. 列表的嵌套4. 元组和元组嵌套5. range 一. 列表1.1 列表的介绍列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. ...
- python基础数据类型之列表,元组操作
一.列表的索引和切片1.列表的索引列表和字符串一样样拥有索引 lst = ["a","b","c"] print(lst[0]) # 获取第 ...
- python中字符串与列表之间的相互转换
1.字符串>列表:split() a = 'my first python' b = a.split(" ") print(b)输出: 2.列表>字符串:join() ...
- python的字符串、列表、字典和函数
一.字符串 在python中字符串无需通过像php中的explode或者javascript中的split进行分解即可完成切片,可以直接通过下标获取字符串中的每一个字符,下标从0开始,如果从厚望签署, ...
- Python中字符串转换列表
前言:在使用Python完成工作中一些任务的时候,常常要对数据类型进行转换,比如字符串转列表,列表转字符串,字符串转元组等等,下面分享一下常用的字符串转列表 字符串转列表 第一种字符串转列表: t_s ...
- python中字符串与列表的相互转换
列表转字符串 list1 = ['abc' , 'def' , 'ghi'] str1 = ','.join(list1) str1 = '##'.join(list1) 字符串转列表 str1 = ...
- Python入门:数据结构的3个小技巧
这是关于Python的第11篇文章,主要介绍下数据结构的3个小技巧. 排序: 使用sorted函数实现排序. sorted函数按照长短.大小.英文字母的顺序给每个列表的元素进行排序.这个函数经常在数据 ...
随机推荐
- mysql自增主键清零方法
MySQL数据库自增主键归零的几种方法 如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数: truncate table table_name; 1 当用户没有trunc ...
- Luogu P5018 对称二叉树 瞎搞树&哈希
我的天..普及组这么$hard$... 然后好像没有人用我的垃圾做法,,,好像是$O(n)$,但十分的慢,并且极其暴力$qwq$ 具体来说,就是直接$dfs$求出树高,然后想像出把原来的树补成满二叉树 ...
- compile cmdow
1. http://www.commandline.co.uk/ https://github.com/ritchielawrence/cmdow/tarball/master 2. g++ -O2 ...
- Java进阶知识08 Hibernate多对一单向关联(Annotation+XML实现)
1.Annotation 注解版 1.1.在多的一方加外键 1.2.创建Customer类和Order类 package com.shore.model; import javax.persisten ...
- 微信内置浏览器不支持APK附件下载的原因
由于微信的限制,应用文件在内置浏览器中下载全部被屏蔽掉,造成很多人用微信扫描二维码下载时点击下载按钮没反应,我想到的是做一个提示用户在浏览器中打开下载.其实原来很简单,就是判断当前是在微信内置浏览器中 ...
- Pytest学习笔记(二) 用例执行规则
在用pytest执行用例时,可以按照如下场景来执行 1.执行目录及其子目录下的所有用例 pytest filename\ 2.执行某一个py文件下的用例 pytest filename.py 3.-k ...
- oracle函数mysql替代方案
=====1.日期相关===//获取当前日期在本周的周一select subdate(now(),date_format(now(),'%w')-1);//获取当前日期在本周的周日 select su ...
- 02 Anaconda的介绍,安装记以及使用
目录 〇.序 Python是一种面向对象的解释型计算机程序设计语言,其使用,具有跨平台的特点,可以在Linux.macOS以及Windows系统中搭建环境并使用,其编写的代码在不同平台上运行时,几乎不 ...
- sklearn——train_test_split 随机划分训练集和测试集
sklearn——train_test_split 随机划分训练集和测试集 sklearn.model_selection.train_test_split随机划分训练集和测试集 官网文档:http: ...
- Android即时通讯开发之XMPP (一)初识XMPP协议和asmack
在讲XMPP和asmck之前 ,我还是先分享一些资源文档,如果你有耐心,可以直接忽略我下面所写的.下面有关XMPP的介绍大部分是摘抄网上的文档,后面我会写一些基于XMPP协议和asmck开源库的聊天室 ...