Pythonの高度な組み込み関数

Pythonの高度な組み込み関数

2020-11-17

zip

サイクル

x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
ans = []
for i in range(len(x)):
    ans.append(x[i] + y[i])
ans
# zip实现
x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
ans = []
for x, y in zip(x, y):
    ans.append(x + y)
ans

データ型を受け入れる

a = [1, 2]
list(zip(a))
b = (1, 2)
list(zip(b))
c = {
    
    1, 2}
list(zip(c))
d = 'python'
list(zip(d))

結果

[(1,), (2,)]
[(1,), (2,)]
[(1,), (2,)]
[('p',), ('y',), ('t',), ('h',), ('o',), ('n',)]
# 接受多个序列
a = [1, 2, 3]
b = (4, 5, 6)
c = {
    
    7, 8, 9}
d = 'zip'
list(zip(a, b, c, d))
[(1, 4, 8, 'z'), (2, 5, 9, 'i'), (3, 6, 7, 'p')]
# 处理不同长度
# 选择最小的
a = [1, 2]
b = (2, 3, 4)
c = 'string'
list(zip(a, b, c))
[(1, 2, 's'), (2, 3, 't')]

フィルタ

フィルタ自体は、フィルタリングすることを意味します。つまり、要件を満たしていないデータを直接フィルタリングして破棄し、要件を満たしているデータを残します。

カスタム機能

# 选出1-25奇数
def get_jishu(x):
    return x % 2 == 1
list(filter(get_jishu, list(range(25))))
# lambda 表达式
list(filter(lambda x: x % 3 == 1, list(range(25))))
# 筛选不满足要求的字符串
str_list = ["guangzhou","shanghai","shenzhen","changsha"]
list(filter(lambda x: x != "shenzhen", str_list)) 

番号を付ける

下付き文字を取得する

test = ['python', 'java', 'c', 'php']
for idx, item in list(enumerate(test)):
    print(idx, item)
0 python
1 java
2 c
3 php

リバース/リバース

リストのみ使用可能

a_list = [1, 3, 4]

# 列表内部的用法
a_list.reverse()
a_list
# 挺多数据类型都有reversed
a_list = list(reversed(a_list))
a_list
[4, 3, 1]
[1, 3, 4]

eval

eval 文字列で渡された式の結果を直接返します

簡単に言えば、文字列を表示することです、および対応するデータ型を変換します

str1 = '[1, 2, 3, 4]'
str2 = '(1, )'
str3 = '{1, 3}'

type(eval(str1))
type(eval(str2))
type(eval(str3))

結果

list
tuple
set

おすすめ

転載: blog.csdn.net/weixin_44179485/article/details/114125822