python元组和列表逆序_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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值