【问题标题】:How to use "for" loop over a list of strings? [duplicate]如何在字符串列表上使用“for”循环? [复制]
【发布时间】:2019-10-16 20:23:30
【问题描述】:

我有这个名为 Restaurant_Type 的列表列表:

Restaurant_Type = [['Dessert Parlor', 'Quick Bites'],
                   ['Casual Dining', 'Bar'],
                   ['Casual Dining', 'Bar'],
                   ['Fine Dining'],
                   ['Casual Dining', 'Bar']]

180 行。我想遍历每个列表并在新列表中输入每个值。例如,

new_list = ['Dessert Parlor', 'Quick Bites', 'Casual Dining', 'Bar','Casual Dining',
            'Bar',.....]

这样我就可以计算出每种餐厅类型的频率。

我尝试使用 for 循环,但我得到了这样的单词列表,

  "'",
  'D',
  'e',
  's',
  's',
  'e',
  'r',
  't',
  ' ',
  'P',
  'a',
  'r',
  'l',
  'o',
  'r',
  ...

【问题讨论】:

  • 能否请您添加您的代码。从输出看来,您正在迭代字符串本身。另外请更具体地说明您的意见,column of lists 到底是什么意思?
  • 我们不确定您的意思。您发布的“列表列”不是合法的 Python 语法; column 不是内置类型。
  • 欢迎来到 StackOverflow。请按照您创建此帐户时的建议阅读并遵循帮助文档中的发布指南。 Minimal, complete, verifiable example 适用于此。在您发布 MCVE 代码并准确说明问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中并重现您指定的问题。
  • 不管你写了什么代码,你都可能想从itertools查看chain
  • 您基本上有一个 2D 列表要展平,但我的猜测是您将其视为 3D,导致最后一次迭代超出字符串的字母。没有看到你的代码,很难知道

标签: python string list for-loop


【解决方案1】:

试试这样的:

 Restaurant_Type = [['Dessert Parlor', 'Quick Bites'], ['Casual Dining', 'Bar'], ['Casual Dining', 'Bar'],['Fine Dining'],['Casual Dining', 'Bar']]


 new_list = []
 for res in Restaurant_Type: 
     new_list.extend(res)
 print(new_list)

输出应该是这样的:

['Dessert Parlor', 'Quick Bites', 'Casual Dining', 'Bar', 'Casual Dining', 'Bar', 'Fine Dining', 'Casual Dining', 'Bar']

【讨论】:

  • 你可以像new_list.extend(res)这样写内循环。
猜你喜欢
  • 2021-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-02
  • 2021-07-04
  • 2021-10-06
  • 2020-04-11
  • 2023-01-24
相关资源
最近更新 更多