Cómo filtrar una lista de cadenas en Python

cadena de filtro usando otra lista lista

Este ejemplo ilustra cómo filtrar la cadena de datos en la lista sin necesidad de utilizar cualquier método. En otra lista de cadenas usados ​​a la lista de filtro. A continuación, se declara lista de dos variables con el lista1 nombres y lista2. Usando el valor del valor de filtro list2 de lista1. La primera palabra con un valor lista1 cada valor de la secuencia de comandos Lista2 partidos, e imprimir lista1 no existen esos valores.

#coding=utf-8
# 声明两个列表变量
list1 = ['Python', 'PHP', 'Java',  'Bash']
list2 = ['JavaScript是客户端脚本语言',
        'PHP是服务器端脚本语言',
         'Java是一种编程语言',
        'Kotlin是一种静态编程语言']

# 根据第一个列表过滤第二个列表
filter_data = [x for x in list2 if
              all(y  not in x for y in list1)]

# 在过滤前和过滤后打印列表数据
print("第一个列表的内容:",  list1)
print("第二个列表的内容:", list2)
print("过滤后的第二个列表的内容:", filter_data)

Ejecutar el script. Aquí, lista1 no contiene la palabra "Kotlin". Salida contendrá sólo un valor en lista2, es decir,  [ 'Kotlin es un lenguaje de programación estática'] .

Cómo filtrar una lista de cadenas en Python

La salida es la siguiente:

La primera lista de contenidos: [ 'Python', 'PHP ', 'Java', 'Bash']
contenido de la segunda lista: [ 'JavaScript del lado del cliente lenguaje de script', 'PHP es un lenguaje de script del lado del servidor' 'el Java es un lenguaje de programación', 'Kotlin es un lenguaje de programación estática']
contenido de la segunda lista después de la filtración: [ 'Kotlin es un lenguaje de programación estática']

Otro uso de la lista de función personalizada y una lista de filtro de cadena

Este ejemplo muestra cómo utilizar las otras listas y la función de filtro personalizado lista de cadenas filtradas. El guión contiene dos listas de variables llamadas list1 y list2. función de filtro personalizado para encontrar una lista de los valores comunes de las dos variables.

# 声明两个列表变量
list1 = ['100', '67', '39', '505', '122', '287', '399']
list2 =  ['70', '100', '308', '415', '362', '230']

# 声明一个函数来过滤第一个列表中的数据
def  Filter(list1, list2):
    return [n for n in list1 if
            any(m in  n for m in list2)]

# 在过滤器之前和之后打印列表数据
print("list1的的内容:",  list1)
print("list2的的内容:", list2)
print("过滤后的数据",Filter(list1, list2))

Ejecutar el script. 100 valor de dos variables en la lista están presentes. Después de ejecutar la secuencia de comandos produce la salida siguiente.

RESUMEN lista1 de: [ '100', '67', '39', '505', '122', '287', '399']
RESUMEN list2 de: [ '70', '100', '308 ']', '415', '362', '230
los datos filtrados [' 100 ']

Cómo filtrar una lista de cadenas en Python

Utilizar expresiones regulares para filtrar una lista de cadenas

Mediante el uso de las dos últimas muestras en todos () y el método de cualquier () para filtrar la lista. En este ejemplo, el filtrado de los datos usando expresiones regulares de la lista. Una expresión regular es un patrón, o puede buscar los datos que coinciden con dicho modo. Python utiliza en 're' expresiones regulares módulos de la aplicación en el guión. En este caso, el código objeto lista declara. Las expresiones regulares se utilizan para codificar el tema filtro "CSE" comenzando. patrón de expresión regular usando el símbolo '^' en el inicio de la búsqueda de texto.


# 导入re模块以使用正则表达式
import re

# 声明列表包含科目编号
sublist = ['IDC-108',  'OKY-309', 'IDC-709', 'PHP-102', 'MIO-801']

# 声明过滤功能
def Filter(datalist):
    # 根据列表中的正则表达式搜索数据
    return [val  for val in datalist
        if re.search(r'^IDC', val)]

# 打印过滤器数据
print(Filter(sublist))

Ejecutar el script. Se compone de dos sub-lista de variables que comienzan con el valor "IDC". Después de ejecutar la secuencia de comandos, la salida siguiente.

[ 'IDC-108', 'IDC-709']

Cómo filtrar una lista de cadenas en Python

Utilice lambda filtro de expresión de una lista de cadenas

Este ejemplo ilustra el uso de datos de una lista de filtros de expresión de cadena lambda. En este caso, la variable lista llamada search_word para filtrar el contenido del texto del texto en una variable llamada. Al utilizar el método split (), basado en el texto convertido espacial a una lista de TEXT₋WORD llamado. expresión lambda ignorará esos valores TEXT₋WORD presente en search_word en, y añadir un espacio mediante el almacenamiento de los valores de la variable filtrada.

# 声明一个包含linuxidc_word中关键词的列表
linuxidc_word = ["系统", "linuxidc", "Python",  "Kotlin"]

# 定义文本,从列表中搜索单词
text = "Linux公社 linuxidc 是专业的 Linux 系统 门户网站,实时发布 最新 Kotlin  资讯!"

# 根据空格分割文本并将单词存储在列表中
text_word = text.split()

# 使用lambda表达式过滤数据
filter_text = ' '.join((filter(lambda val: val not in  linuxidc_word, text_word)))

# 在过滤前和过滤后打印文本
print("\n过滤前的文本:\n", text)
print("过滤后的文本:\n",  filter_text)

Ejecutar el script. Después de ejecutar la secuencia de comandos, la salida siguiente.

Cómo filtrar una lista de cadenas en Python

Uso del filtro () de filtrado de lista de cadenas

filter () método toma dos parámetros. El primer parámetro toma un nombre de función o "None", el segundo parámetro con el nombre de la variable tal como la lista de valores. El filtro () Devuelve Si es cierto, los datos se almacenan en la lista, de lo contrario, se descartarán los datos. Aquí, el primer valor de parámetro no se especifica ningún valor. No todo está valor falso se recupera de la lista de datos filtrados.

#声明混合数据列表
listData = ['linuxidc', 90, 9, 'com', 100, False, 22, True,  '1']

# 使用None和列表调用filter()方法
filteredData = filter(None,  listData)

#过滤数据后打印列表
print('过滤后的列表:')
for val in  filteredData:
    print(val)

Ejecutar el script. La lista contiene sólo un valor de falso, el valor falso se omite en los datos filtrados. Aparece la siguiente salida se ejecute el script.

Cómo filtrar una lista de cadenas en Python

resumen:

Cuando tenga que buscar y recuperar los valores específicos de la lista, el filtro es muy útil. Espero que los ejemplos anteriores para ayudar al lector a comprender el método de filtrado de los datos de una lista de cadenas.

Supongo que te gusta

Origin www.linuxidc.com/Linux/2020-03/162681.htm
Recomendado
Clasificación