我需要将列表格式化为字符串,以便可以将字符串传递给ArcPy的按属性选择功能。
我的列表如下-
values = [30477, 35136, 4327]
我想将列表格式化为字符串,并将格式化后的字符串存储在变量中。 ArcPy的“按属性选择”功能所需的字符串格式如下所示-
values_string = "OBJECTID = 30477 Or OBJECTID = 35136 Or OBJECTID = 4327"
values_string = f"OBJECTID = {values[0]} Or OBJECTID = {values[1]} Or OBJECTID = {values[2]}"
这可能是在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)