Python '';股票代码'';在列表理解中

Python '';股票代码'';在列表理解中,python,Python,我试图理解代码的这一部分,其中“ticker”用于列表理解。谁能告诉我“股票代码”是什么意思,它来自哪里。我将包括导入的模块/库以供参考 import itertools import pandas as pd import pickle import os.path import xlrd import xlwings as xw from tkinter import * from tkinter.filedialog import askopenfilename import re im

我试图理解代码的这一部分,其中“ticker”用于列表理解。谁能告诉我“股票代码”是什么意思,它来自哪里。我将包括导入的模块/库以供参考

import itertools
import pandas as pd
import pickle
import os.path
import xlrd
import xlwings as xw
from tkinter import *
from tkinter.filedialog import askopenfilename
import re 
import datetime
    .
    .
    .
colC = ['' if x is None else x for x in colC]
colC = [ticker.replace(' USD', '').replace(' SWAP', '').replace(' CVR', 
'').replace('.USD', '') for ticker in colC]
colC = [ticker.split()[0] + " Options" if p.match(ticker) else ticker for 
ticker in colC]

感谢您的帮助。

ticker指的是列表colC中的每一项。这些表达式称为“列表理解”。谷歌。基本上,它是一个紧凑语法中的for循环

[ ...some expr... for ticker in colC]
  \           /   \                /
   inside loop     --- for loop ---
没有测试数据有点困难,但第一行:

colC = ['' if x is None else x for x in colC]
将用colC中的“”(空str)替换所有出现的None

第二行将colC中出现的
“USD”、“SWAP”、“CVR”和“.USD”
替换为“”(空str)

第三行看起来将采用ticker(colC项)中的第一个单词,如果ticker与regex
p
匹配,则添加字符串
'Options'
。如果没有,它将返回股票代码。对于colC中的所有项目

colC = [ticker.replace(' USD', '').replace(' SWAP', '').replace(' CVR', 
'   ').replace('.USD', '') for ticker in colC] 
这条线可以这样扩展

for ticker in colC:
     result = ticker.replace(' USD', '').replace(' SWAP', '').replace(' CVR', 
     '   ').replace('.USD', '')
     colC.append(result)
这个for循环用于遍历列表colC中的每个元素。在每一次迭代中,ticker变量获取当前元素,在下一次迭代中,它获取下一个元素

因此,ticker只是一个用于遍历列表的变量。您可以使用任何名称代替ticker。它会工作。

colC
是一个iterable,但
ticker
是该
colC
iterable
的一个值,用于colC中的ticker
-它循环通过colC中的值