Python 用于枚举迭代

Python 用于枚举迭代,python,Python,我正在迭代子文件夹A、B、C、D、E、F、G、H、I、J、K 这段代码工作得很好,但如何避免在for语句中写入所有字符串[“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”]?如果您是根据数字工作的,可以这样做: for v in enumerate (["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K"]) folder = "/Users/Name/Desktop/Datas/" + v

我正在迭代子文件夹A、B、C、D、E、F、G、H、I、J、K


这段代码工作得很好,但如何避免在for语句中写入所有字符串[“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”]?

如果您是根据数字工作的,可以这样做:

for v in enumerate (["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K"])
    folder = "/Users/Name/Desktop/Datas/" + v
    csvFiles = glob.glob (os.path.join (folder, "*.csv"))
    df = (pd.read_csv(i) for i in csvFiles)
    df = pd.concat (df, ignore_index=True)

如果您使用的是连续字母表,则可以使用:

import string
letters = [string.ascii_uppercase[i] for i in range(11)]

字符串也是可编辑的:)

您可以比较字符串:

    Python 2.7.14+ (default, Dec  5 2017, 15:17:02) 
    [GCC 7.2.0] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> for x in enumerate('ABC'):
    ...     print x
    ... 
    (0, 'A')
    (1, 'B')
    (2, 'C')
>>'A'<'V'
真的
>>>“E”<“V”
真的
>>>“E”<“D”
假的
>>>“A”<“C”<“K”
真的

它不应该是
范围(11)
,因为需要包括
K
吗?当你可以只做
字母=ascii\u大写[:11]
时,它似乎是多余的。也许你只是想要
操作系统。行走
    Python 2.7.14+ (default, Dec  5 2017, 15:17:02) 
    [GCC 7.2.0] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> for x in enumerate('ABC'):
    ...     print x
    ... 
    (0, 'A')
    (1, 'B')
    (2, 'C')
    >>> 'A' < 'V'
    True
    >>> 'E' < 'V'
    True
    >>> 'E' < 'D'
    False
    >>> 'A' < 'C' < 'K'
    True