我试图理解代码的这一部分,其中“ ticker”用于列表推导。谁能告诉我“ 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]
感谢您的帮助。
答案 0 :(得分:0)
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中将所有出现的None替换为''(空str)。
第二行将在colC中将任何出现的' USD', ' SWAP', ' CVR', '.USD'
替换为''(空str)。
第三行看起来将采用代码(colC项目)中的第一个单词,如果代码与正则表达式' Options'
相匹配,则添加字符串p
。如果没有,它将返回股票行情。对于colC中的所有项目。
答案 1 :(得分:0)
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变量获取当前元素,而在下一次迭代时,获取下一个元素。
因此,股票行情只是用于遍历列表的变量。您可以使用任何名称代替股票行情。它将起作用。