Ошибка при использовании функции длины; вывод не будет ничем иным, кроме одного

#python #arrays #string #list #dataset

#python #массивы #строка #Список #набор данных

Вопрос:

У меня есть несколько файлов csv, которые я загрузил как в Google colab, так и в jupyter notebook. Я могу успешно распечатать определенные строки моего файла. Файл содержит строки строк. Когда я открываю файл, он открывает приложение number на моем MacBook. В любом случае, по какой-то причине всякий раз, когда я пытаюсь напечатать длину ЛЮБОЙ строки в моем файле, python ВСЕГДА сообщает мне, что длина равна 1. Все строки имеют длину, превышающую 1. Я подумал: «Может быть, это сам файл?» Нет. Я использовал несколько файлов csv, все еще 1. Это не ide, я использовал jupyter и google colab. Я могу напечатать длины слов, таких как «ПРИВЕТ». Но ничего правильного в моем файле нет. Я предполагаю, что у меня что-то не так с моим кодом, хотя я пробовал несколько версий. Пожалуйста, дайте мне знать, что происходит. Это простая команда, но по какой-то причине она не работает.

 with open('/Users/xxx/Desktop/Silkscreen/fonts/ughuuh.csv' , newline='') as f:
    reader = csv.reader(f)
    data = list(reader)
    print((len(data[1]))
    >>output: 1
 

Комментарии:

1. Каков результат print(len(data)) ?

2. Это дает мне 159. Это общее количество строк в моем файле.

Ответ №1:

измените на это:

 
print(len(data[1]))

 

Я делаю некоторые предположения о «данных», но похоже, что вы получаете список списков.

поэтому использовать random:

 
import random

data = [['(O)[C@@H](O)[C@H](O2)OC OC[C@@H](O)C(O)[C@H](O)C'],['(O)[C@@H](O)[C@H][C@H](O)C']]

rand = random.choice(data)
print(len(rand[0]))

 

Комментарии:

1. Прошу прощения, я случайно ввел неправильный код. Но len по-прежнему выдает мне вывод 1.

2. какой результат print(data[1]) может помочь вам определить длину, которую он возвращает?

3. Он выводит это [‘(O)[C @@H](O) [C @ H](O2)OCOC [C @@H](O) C (O) [C @ H] (O) C’] что правильно

4. ах .. попробуй len(data[1][0])

5. Вы знаете, как это использовать, когда я использую random.choice(данные)? Когда я использую это, длина становится равной нулю.

Ответ №2:

Функция len принимает объект как функцию.

 print(len(data[1]))
 

Комментарии:

1. К сожалению, все еще 1.