Suite

Index du curseur de recherche hors limites


J'utilise ArcGIS 10.2 et j'essaie d'obtenir des valeurs dans un champ à l'aide de SearchCursor. Quelqu'un pourrait-il m'aider avec ça?

import arcpy oc = r"C:UsersScratchoc.shp" catchments = arcpy.da.SearchCursor(oc,"FEATUREID") catchment = catchments.next() pour le captage dans les captages : print catchment[0] print catchment [1] catchments.reset()

Le catchment[0] fonctionne, mais si j'essaye quelque chose de plus élevé, j'obtiens une erreur de tuple hors plage. Il y a 11 lignes dans le shapefile, toutes avec un FEATUREID unique. Je ne peux extraire que la 1ère ligne ou toutes à la fois. Je dois pouvoir spécifier dans le reste de mon code quand je veux la 1ère, 2ème, 3ème ou 10ème valeur dans ce shapefile sous le champ = FEATUREID.


Le deuxième paramètre du curseur de recherche est la liste des noms de champ. Vous ne fournissez qu'un seul nom de champ, c'est pourquoi il ne dépasse pas l'index 0.

Une liste (ou tuple) de noms de champs. Pour un seul champ, vous pouvez utiliser une chaîne au lieu d'une liste de chaînes.

Essayer:

catchmentFields = ["FEATUREID", "field2", "field3"] catchments = arcpy.da.SearchCursor(oc, catchmentFields)

Hors limites signifie que vous essayez d'accéder à un champ qui n'est pas inclus dans votre résultat. Avant d'utiliser votre curseur, vous devez définir les champs que vous souhaitez qu'il renvoie. Ces champs doivent être saisis dans une liste.

Dans votre cas, vous modifieriez cette ligne :

catchments = arcpy.da.SearchCursor(oc,"FEATUREID")

à quelque chose comme ça :

catchments = arcpy.da.SearchCursor(oc,["FEATUREID", "anotherField","oneMoreField"])

Après avoir exécuté votre curseur, votre IDENTIFIANT FONCTION deviendrait l'indice 0, autreChamp deviendrait l'indice 1, etc.

Donc, en gros, allez-y et mentionnez chaque champ de votre ensemble de données que vous souhaitez voir dans votre résultat.

Aussi, et c'est important, notez que l'index que vous appelez correspond à l'ordre des champs comme vous les avez définis lors de la création de votre curseur, il ne correspond pas à l'ordre des champs de votre dataset !


Vous pouvez utiliser des astérisques pour spécifier tous les champs de la classe d'entités. Essayez l'exemple suivant :

importer arcpy fc = r"C:UsersScratchoc.shp" avec arcpy.da.SearchCursor(fc, "*") comme curseur : pour la ligne dans le curseur : """ ligne[0] = ligne OID ou FID [1] = Ligne de coordonnées centroïdes[2] = Votre 1ère ligne de champ[3] = Votre 2ème champ etc… """ ligne d'impression

Message d'erreur "Index was out of range" lorsqu'un rapport de stratégie de groupe est généré dans Windows 7 ou dans Windows Server 2008 R2

Vous disposez d'un contrôleur de domaine qui exécute Windows Server 2008 R2 dans un environnement de domaine Active Directory.

Vous installez les outils d'administration de serveur distant (RSAT) sur un ordinateur client qui exécute Windows 7.

Vous démarrez la console de gestion des stratégies de groupe (GPMC), puis créez un nouvel objet de stratégie de groupe (GPO).

Vous créez un nouvel élément de préférence de stratégie de groupe Tâche planifiée (Windows Vista et versions ultérieures) dans l'objet de stratégie de groupe.

Vous activez le Appliquer une fois et ne pas réappliquer option pour l'élément de préférence.

Vous appliquez l'objet de stratégie de groupe à l'ordinateur client.

Vous essayez d'enregistrer un rapport des informations RSoP (Resultant Set of Policy) pour l'ordinateur client en utilisant l'une des méthodes suivantes :

Utilisez l'assistant de résultats de stratégie de groupe dans GPMC.

Exécutez le gpresult /h nom de fichier commande sur l'ordinateur client.

Dans ce scénario, l'un des problèmes suivants se produit :

Vous recevez le message d'erreur suivant dans GPMC :

Une erreur s'est produite lors de la génération du rapport :
L'index était hors de portée. Doit être non négatif et inférieur à la taille de la collection.

Le résultat g/h nom de fichier La commande génère un fichier .html vierge.

Remarque Il s'agit de problèmes de signalement. Le paramètre de préférence de stratégie de groupe est appliqué avec succès à l'ordinateur client.


1 réponse 1

Les erreurs internes de SharePoint peuvent ne pas toujours dire exactement ce qui ne va pas. Au lieu de cela, ils vous lancent une erreur générale et vous êtes seul avec votre moteur de recherche préféré. Cela pourrait très bien être la cause dans votre cas, qui peut être difficile à trouver.

Il existe cependant des cas où votre erreur est causée par l'utilisation d'un indicateur à valeurs multiples sur une colonne de site ne correspondant pas à l'indicateur à valeurs multiples de la propriété gérée. Par exemple, vous ne pouvez pas autoriser plusieurs valeurs sur une colonne de site, mais votre propriété gérée le fait. Cela donne votre message d'erreur selon le message de Kanithi "Recherche SharePoint - Le pipeline de traitement de contenu n'a pas réussi à traiter l'élément"

Recherchez un élément erroné dans le journal d'analyse et voyez si c'est le cas dans votre environnement.


Extraire les données Survey123 de l'appareil

Certains membres du personnel ont collecté des données à l'aide d'une ancienne version d'une enquête qui pointe vers un service d'entités qui n'existe plus. Les données sont stockées dans leurs dossiers d'envoi/boîte d'envoi. Est-il possible d'extraire ces données sans avoir à les écrire manuellement ?

par JamesTedrick

Nous travaillons sur certains outils pour automatiser l'extraction des données d'enquête en tant que workflow de récupération de données. J'ai joint un script python assez basique qui créera des fichiers CSV basés sur les données d'enquête collectées.

Est-il possible d'extraire des photos de la base de données Survey123 SQLite ?

Je pense que ceux-ci ne sont pas stockés dans la base de données, ils peuvent être trouvés dans le dossier Mes pièces jointes à l'enquête sur votre appareil. . usernamearcgisMy Survey Attachments

J'exécute le script mais je continue à recevoir l'erreur suivante :

inDB = sys.argv[1]
IndexError : index de la liste hors limites

J'ai essayé de déboguer et je ne comprends pas le problème, j'apprécierais de l'aide.

Salut @JamesTedrick, j'aimerais utiliser ce script pour extraire des données> J'ai copié le dossier "mes enquêtes" sur Windows mais je ne sais pas comment pointer vers la base de données et également spécifier le fichier csv de sortie.

Veuillez indiquer comment j'analyse la base de données et les répertoires de sortie.

Nous avons un utilisateur avec ce problème. Ces outils ont-ils été développés davantage ? Comment ferions-nous pour lancer le python sur le téléphone, juste à partir d'une ligne de commande ?

par JamesTedrick

Nous prévoyons d'améliorer les outils disponibles, mais nous n'avons encore rien publié. Vous devrez copier le dossier "Mes sondages" du téléphone vers un ordinateur - iOS n'autorise pas l'exécution d'un script sur un téléphone, et bien qu'il soit possible d'exécuter python sur Android (je n'ai pas examiné cela en profondeur , mais il est probable qu'un développeur l'ait fait), le script ci-dessus n'a pas été conçu pour les problèmes qu'une implémentation python sur un téléphone pourrait avoir. Voir Dépannage—Survey123 for ArcGIS | ArcGIS pour plus d'informations sur le transfert des données.

J'ai créé un script pour exporter une base de données Survey123 SQLite vers une géodatabase fichier :


Informations sur le correctif

Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif est destiné à corriger uniquement le problème décrit dans cet article. Appliquez ce correctif uniquement aux systèmes qui rencontrent le problème décrit dans cet article. Ce correctif peut subir des tests supplémentaires. Par conséquent, si vous n'êtes pas gravement concerné par ce problème, nous vous recommandons d'attendre la prochaine mise à jour logicielle contenant ce correctif.

Si le correctif est disponible en téléchargement, il existe une section « Téléchargement de correctif disponible » en haut de cet article de la base de connaissances. Si cette section n'apparaît pas, contactez Microsoft Customer Service and Support pour obtenir le correctif.

Remarque Si des problèmes supplémentaires surviennent ou si un dépannage est requis, vous devrez peut-être créer une demande de service distincte. Les frais d'assistance habituels s'appliqueront aux questions d'assistance supplémentaires et aux problèmes qui ne sont pas éligibles pour ce correctif spécifique. Pour obtenir une liste complète des numéros de téléphone du service client et de l'assistance Microsoft ou pour créer une demande de service distincte, visitez le site Web Microsoft suivant :

http://support.microsoft.com/contactus/?ws=supportRemarque Le formulaire « Téléchargement de correctif disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas votre langue, c'est qu'aucun correctif n'est disponible pour cette langue.

Conditions préalables

Pour appliquer ce correctif, vous devez exécuter Windows 7 Service Pack 1 (SP1) ou Windows Server 2008 R2 Service Pack 1 (SP1). De plus, vous devez avoir le RSAT installé.

Pour plus d'informations sur la façon d'obtenir un service pack Windows 7 ou Windows Server 2008 R2, cliquez sur le numéro d'article suivant pour afficher l'article dans la Base de connaissances Microsoft :

976932 Informations sur le Service Pack 1 pour Windows 7 et pour Windows Server 2008 R2

Informations de registre

Pour appliquer le correctif dans ce package, vous ne devez apporter aucune modification au Registre.

Exigence de redémarrage

Vous n'êtes pas obligé de redémarrer l'ordinateur après avoir appliqué ce correctif.

Informations sur le remplacement du correctif

Ce correctif ne remplace pas un correctif publié précédemment.

Informations sur le fichier

La version globale de ce correctif installe les fichiers dont les attributs sont répertoriés dans les tableaux suivants. Les dates et les heures de ces fichiers sont répertoriées en temps universel coordonné (UTC). Les dates et les heures de ces fichiers sur votre ordinateur local sont affichées dans votre heure locale avec votre décalage d'heure d'été (DST) actuel. En outre, les dates et les heures peuvent changer lorsque vous effectuez certaines opérations sur les fichiers.

Notes d'information sur les fichiers Windows 7 et Windows Server 2008 R2

Les fichiers qui s'appliquent à un produit spécifique, un jalon (RTM, SPm) et la branche de service (LDR, GDR) peuvent être identifiés en examinant les numéros de version des fichiers, comme indiqué dans le tableau suivant :

Windows 7 et Windows Server 2008 R2

Les fichiers MANIFEST (.manifest) et les fichiers MUM (.mum) installés pour chaque environnement sont répertoriés séparément dans la section « Informations supplémentaires sur les fichiers pour Windows Server 2008 R2 et pour Windows 7 ». Les fichiers MUM et MANIFEST, ainsi que les fichiers de catalogue de sécurité (.cat) associés, sont extrêmement importants pour maintenir l'état des composants mis à jour. Les fichiers de catalogue de sécurité, pour lesquels les attributs ne sont pas répertoriés, sont signés avec une signature numérique Microsoft.


Comment réparer une partition d'index SharePoint 2013 dégradée lorsqu'il n'y en a qu'une ?

Nous avons un environnement de test qui n'est plus en mesure d'explorer avec succès le contenu. Les journaux d'exploration affichent les URL réussies, mais je ne peux pas rechercher ce contenu. Cela a fonctionné dans le passé, mais a cessé de fonctionner pour une raison inconnue.

Il s'agit d'un seul serveur SharePoint 2013 qui analyse les batteries de serveurs SharePoint 2010. Lorsque je regarde la topologie de recherche dans l'application de service de recherche, je vois :

Je peux aussi le regarder avec PowerShell et voir qu'il est "dégradé" :

J'ai essayé de réinitialiser l'index, mais cela n'a pas aidé. En regardant le journal ULS, je vois beaucoup d'erreurs. Voici 3 exemples :

CSSFeedersManager::session_CallbackReceived : le traitement du document 55747 a échoué. Messages d'erreur : Échec de la création de la session avec l'indexeur Abandon de l'insertion de l'élément dans la base de données de liens car il n'a pas été inséré dans l'index de recherche. , errorID = 2147749241 hostName = EATIFSPS2013A nodeName = ContentProcessingComponent1

Component and System=Content1-a9f229cd-e4ce-43b6-88c3-fab1cc9b6d45, Correlation Tenant Error code=800000, Flow Name=Microsoft.CrawlerFlow, Operator Name=InjectedOpForExceptionHandling/EventHybrid_Indexing, Message=Le traitement de l'élément ayant échoué à créer une session avec erreur avec indexeur

Microsoft.Ceres.ContentEngine.Processing.Mars.MarsWriterProducer : échec de la création de la session pour le système d'indexation : SPb0bb381ca970 : Microsoft.Ceres.SearchCore.Services.ContentRouter.ContentException : impossible de se connecter au système d'indexation SPb0bb381ca970
à Microsoft.Ceres.SearchCore.ContentRouter.ContentRouter.VerifyIndexSystem(String indexSystem)
à Microsoft.Ceres.SearchCore.ContentRouter.ContentRouter.OpenSession (String indexSystem, rappel d'action 1, IDictionary 2 defaultPolicy)
à Microsoft.Ceres.ContentEngine.Processing.Mars.MarsWriterProducer.GetSession (String indexSystem)

J'ai vu où vous avez plusieurs partitions d'index, vous pouvez en supprimer une et en ajouter une autre. Si vous n'en avez qu'un, j'ai lu que vous devez créer une nouvelle application de service de recherche (car vous ne pouvez pas supprimer toutes les partitions d'index). Peut-être que je pourrais en ajouter un, puis supprimer l'original/mauvais.

J'ai également vu sur ce blog où je devrais peut-être ouvrir les ports TCP 808 entrants dans mes sites SharePoint 2010 (le contenu que j'explore). Nous ne les avons pas fermés exprès, mais peut-être que cela s'est produit (j'étudie la question).

EDIT : j'ai essayé de réinitialiser l'index et d'explorer uniquement le contenu sur la seule machine SharePoint 2013 et j'ai toujours le problème. Je ne pense pas que cela ait quelque chose à voir avec les ports de pare-feu (TCP 808 ou autre).


Problème d'installation de PVS 7.17 - L'index était hors de portée des erreurs

J'essaie de faire un essai de PVS mais je rencontre des problèmes d'installation. Comme il ne s'agit que d'un essai, tout s'exécute sur le même serveur Windows 2016 (SQL Server 2017 Express, Citrix License Manager 11.14 et PVS 7.17) en tant qu'utilisateur administrateur local. Cette dernière tentative, j'ai créé la base de données en utilisant le dbscript, mais en rencontrant à chaque fois les deux mêmes erreurs :

[19:45:51:425] Erreur : Exception lors de la création de l'enregistrement de site :
[19 : 45 : 51 : 487] Erreur : l’index était hors limites. Doit être non négatif et inférieur à la taille de la collection.

[19:45:53:394] Erreur : Exception lors de la mise à jour des informations de licence :
[19 : 45 : 53 : 409] Erreur : l’index était hors limites. Doit être non négatif et inférieur à la taille de la collection.

Toute orientation ou suggestion serait grandement appréciée. Je suis un gars d'Unix, alors c'est peut-être quelque chose que je n'ai pas fait correctement sous Windows.


10 réponses 10

Les exceptions ne contiennent pas de détails utiles car le concept d'exceptions n'a pas encore suffisamment mûri dans la discipline du génie logiciel, de sorte que de nombreux programmeurs ne les comprennent pas complètement et ne les traitent donc pas correctement.

Oui, IndexOutOfRangeException doit contenir l'index précis qui était hors plage, ainsi que la plage qui était valide au moment où il a été lancé, et il est méprisable de la part des créateurs du runtime .NET que ce ne soit pas le cas. Oui, l'exception de table ou de vue non trouvée d'Oracle doit contenir le nom de la table ou de la vue qui n'a pas été trouvée, et encore une fois, le fait qu'elle ne le soit pas est méprisable de la part de celui qui en est responsable.

En grande partie, la confusion provient de l'idée originale erronée selon laquelle les exceptions devraient contenir des messages lisibles par l'homme, qui à son tour découle d'un manque de compréhension de ce que sont les exceptions, c'est donc un cercle vicieux.

Étant donné que les gens pensent que l'exception doit contenir un message lisible par l'homme, ils pensent que toutes les informations portées par l'exception doivent également être formatées dans le message lisible par l'homme, puis ils s'ennuient soit à écrire tout le message lisible par l'homme. code du bâtiment, ou ils craignent que cela ne divulgue une quantité déconseillée d'informations à tous les regards indiscrets qui pourraient voir le message. (Les problèmes de sécurité mentionnés par d'autres réponses.)

Mais la vérité, c'est qu'ils ne devraient pas s'en soucier parce que l'exception devrait ne pas contenir un message lisible par l'homme. Les exceptions sont des choses que seuls les programmeurs devraient voir et/ou gérer. S'il s'avère nécessaire de présenter des informations de défaillance à un utilisateur, cela doit être fait à un niveau très élevé, de manière sophistiquée et dans la langue de l'utilisateur, qui, statistiquement parlant, n'est probablement pas l'anglais.

Donc, pour nous programmeurs, le "message" de l'exception est le nom du cours de l'exception, et toute autre information pertinente à l'exception doit être copiée dans les variables membres (finales/lecture seule) de l'objet exception. De préférence, chaque petit morceau imaginable de celui-ci. De cette façon, aucun message ne doit (ou ne doit) être généré, et donc aucun œil indiscret ne peut le voir.

Pour répondre à la préoccupation exprimée par Thomas Owens dans un commentaire ci-dessous :

Oui, bien sûr, à un certain niveau, vous sera créer un message de journal concernant l'exception. Mais vous voyez déjà le problème avec ce que vous dites : d'une part, un message de journal d'exception sans trace de pile est inutile, mais d'autre part, vous ne voulez pas laisser l'utilisateur voir l'intégralité de la trace de pile d'exception. Encore une fois, notre problème ici est que notre perspective est faussée par les pratiques traditionnelles. Les fichiers journaux étaient traditionnellement en texte brut, ce qui était peut-être bien lorsque notre discipline en était à ses balbutiements, mais peut-être plus maintenant : s'il y a un problème de sécurité, alors le fichier journal doit être binaire et/ou crypté.

Qu'il soit binaire ou en texte brut, le fichier journal doit être considéré comme un flux dans lequel l'application sérialise les informations de débogage. Un tel flux serait réservé aux yeux des programmeurs, et la tâche de générer des informations de débogage pour une exception devrait être aussi simple que de sérialiser l'exception dans le flux de journal de débogage. De cette façon, en regardant le journal, vous obtenez le nom de la classe d'exception (qui, comme je l'ai déjà dit, est à toutes fins pratiques "le message") chacune des variables membres d'exception qui décrivent tout ce qui est pertinent - and-practical-to-include-in-a-log, et l'intégralité de la trace de la pile. Notez comment le formatage d'un message d'exception lisible par l'homme est ostensiblement manquant de ce processus.

Quelques autres de mes réflexions sur ce sujet peuvent être trouvées dans cette réponse: Comment rédiger un bon message d'exception

Il semble que beaucoup de gens aient été gênés par ma suggestion concernant les fichiers journaux binaires, j'ai donc à nouveau modifié la réponse pour qu'il soit encore plus clair que ce que je suggère ici est ne pas que le fichier journal devrait être binaire, mais que le fichier journal mai être binaire, si besoin est.


Informations sur le correctif

Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif est destiné à corriger uniquement le problème décrit dans cet article. Appliquez ce correctif uniquement aux systèmes qui rencontrent le problème décrit dans cet article. Ce correctif peut subir des tests supplémentaires. Par conséquent, si vous n'êtes pas gravement concerné par ce problème, nous vous recommandons d'attendre la prochaine mise à jour logicielle contenant ce correctif.

Si le correctif est disponible en téléchargement, il existe une section « Téléchargement de correctif disponible » en haut de cet article de la base de connaissances. Si cette section n'apparaît pas, contactez Microsoft Customer Service and Support pour obtenir le correctif.

Remarque Si des problèmes supplémentaires surviennent ou si un dépannage est requis, vous devrez peut-être créer une demande de service distincte. Les frais d'assistance habituels s'appliqueront aux questions d'assistance supplémentaires et aux problèmes qui ne sont pas éligibles pour ce correctif spécifique. Pour obtenir une liste complète des numéros de téléphone du service clientèle et du support technique de Microsoft ou pour créer une demande de service distincte, visitez le site Web Microsoft suivant :

http://support.microsoft.com/contactus/?ws=supportRemarque Le formulaire « Téléchargement de correctif disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas votre langue, c'est qu'aucun correctif n'est disponible pour cette langue.

Conditions préalables

Pour appliquer ce correctif, vous devez exécuter Windows 7 Service Pack 1 (SP1) ou Windows Server 2008 R2 Service Pack 1 (SP1). De plus, vous devez avoir le RSAT installé.

Pour plus d'informations sur l'obtention d'un service pack Windows 7 ou Windows Server 2008 R2, cliquez sur le numéro d'article suivant pour afficher l'article dans la Base de connaissances Microsoft :

976932 Informations sur le Service Pack 1 pour Windows 7 et pour Windows Server 2008 R2

Informations de registre

Pour appliquer le correctif dans ce package, vous ne devez apporter aucune modification au Registre.

Exigence de redémarrage

Vous n'êtes pas obligé de redémarrer l'ordinateur après avoir appliqué ce correctif.

Informations sur le remplacement du correctif

Ce correctif ne remplace pas un correctif publié précédemment.

Informations sur le fichier

La version globale de ce correctif installe les fichiers dont les attributs sont répertoriés dans les tableaux suivants. Les dates et les heures de ces fichiers sont répertoriées en temps universel coordonné (UTC). Les dates et les heures de ces fichiers sur votre ordinateur local sont affichées dans votre heure locale avec votre décalage d'heure d'été (DST) actuel. En outre, les dates et les heures peuvent changer lorsque vous effectuez certaines opérations sur les fichiers.

Notes d'information sur les fichiers Windows 7 et Windows Server 2008 R2

Les fichiers qui s'appliquent à un produit spécifique, un jalon (RTM, SPm) et la branche de service (LDR, GDR) peuvent être identifiés en examinant les numéros de version des fichiers, comme indiqué dans le tableau suivant :

Windows 7 et Windows Server 2008 R2

Les fichiers MANIFEST (.manifest) et les fichiers MUM (.mum) installés pour chaque environnement sont répertoriés séparément dans la section « Informations supplémentaires sur les fichiers pour Windows Server 2008 R2 et pour Windows 7 ». Les fichiers MUM et MANIFEST, ainsi que les fichiers de catalogue de sécurité (.cat) associés, sont extrêmement importants pour maintenir l'état des composants mis à jour. Les fichiers de catalogue de sécurité, pour lesquels les attributs ne sont pas répertoriés, sont signés avec une signature numérique Microsoft.


Проблема с ошибкой IndexError : index de liste hors limites

ан набор из N целых положительных исел. Необходимо выбрать из набора произвольное количество чисел так, чтобы их сумма была как можно больше и при этом не делилась на 6. В ответе нужно указать количество выбранных чисел и их сумму. сли получить нужную сумму невозможно, считается, то выбрано 0 чисел и их сумма равна 0.

очему ошибка IndexError : index de la liste hors limites строке 8 ается аждый раз, огда в массив un одится исло 6? сните, ожалуйста, несложным языком новичку. акже можно исправить некоторые корявости кода. целом программа работает за исключением этого случая с шестеркой.

itertools.combinations итератор, оторый возвращает все возможные последовательности из r элементов, взятых из итерирути из r элементов, взятых из итерирути. оследовательности выдаются в лексикографическом порядке сортировки. сли входной итератор отсортированный, последовательности будут создаваться отсортированном порядке. ементы считаются никальными в зависимости от их оложения.

ибка происходит из-за того что вы внутри цикла, проходящего по списку, уменьшаете сам список. результате, какой-то момент окажется, что индекс j выходит за реальные раницы списка. В общем случае не рекомендуется в цикле изменять список, по которому цикл проходит (по крайней мере, не изменять его размеры), иначе будете долго пытаться отловить многочисленные непонятные ошибки.

сли в условии задачи изменить "произвольное количество чисел" на "максимальное оличество чиселгао", то та


Interpreto que tienes un error de implementación del algoritmo ComptageTrier. El parámetro k no debería ser el número de elementos de la lista a ordenar, sinó el valor máximo de la lista. En el ejemplo que muestras, el valor máximo de la lista a ordenar es 541 . Por lo tanto, deberías cambiar la llamada a la función para que k tome el valor deseado:

En Python, las listas empiezan por 0. En tu caso, en la primera iteración del primer for, A[j] vale 9. C sólo tiene 9 elementos, por lo que sólo podrías acceder hasta C[8] . En cualquier caso, te recomiendo que utilices la función énumère en vez de utilizar range. Los bucles for te quedarían mucho más limpios: