将列表格式化为字符串(与ArcPy通过属性功能选择的字符串格式兼容)

问题描述 投票:0回答:2

我需要将列表格式化为字符串,以便可以将字符串传递给ArcPy的按属性选择功能。

我的列表如下-

values = [30477, 35136, 4327]

我想将列表格式化为字符串,并将格式化后的字符串存储在变量中。 ArcPy的“按属性选择”功能所需的字符串格式如下所示-

values_string = "OBJECTID = 30477 Or OBJECTID = 35136 Or OBJECTID = 4327"
python arcpy
2个回答
0
投票
values_string = f"OBJECTID = {values[0]} Or OBJECTID = {values[1]} Or OBJECTID = {values[2]}"

0
投票

这可能是在Python中使用f字符串的一个很好的例子。 (适用于python 3.6及更高版本)

def string_cleaner(values_list):
    single_string = ''
    for value in values_list:
        single_string += 'OBJECTID = {} Or '.format(value)
    return single_string

您可以传递多个变量参数

single_string += '{} = {} Or '.format('OBJECTID' ,value)

为了使其更具可读性,您可以在大括号内传递变量名称

single_string += 'OBJECTID = {obj_id} Or '.format(obj_id=value)
© www.soinside.com 2019 - 2024. All rights reserved.