标签: nested

错误:此处不允许函数定义。如何纠正这个问题?

这是代码:

#include<stdio.h>

int main(){

// prints I stars

void printIStars(int i) {

  // Count (call it j) from 1 to i (inclusive)

  for (int j = 1; j <= i; j++) {

    // Print a star

    printf("*");

  }

}


// prints a triangle of n stars

void printStarTriangle(int n) {

  // Count (call it i) from 1 to n (inclusive)

  for (int i = 1; i <= n; i++) {

    // Print I stars

    printIStars (i);

    // Print a newline …
Run Code Online (Sandbox Code Playgroud)

c nested function nested-function function-definition

1
推荐指数
1
解决办法
2187
查看次数

将字典嵌套元素提取到 Pandas 数据框中

我有一个字典列表l1,如下所示:

[{'A1': 'string',
  'B1': {'ba': 'string',
        'bb': 'string',
        'bc': 'string',
        'bd': 'string',
        'be': 'string'},
  'C1': {'ca': 'string',
        'cb': [[[123,123],[123,123]]]},
  'D1': 'string'},
  ...]
Run Code Online (Sandbox Code Playgroud)

某些字典(l1 元素)可能缺少一些键,例如,l1 的第二个列表元素可能没有'bc':''string'键/值对。

我需要将以下顶部和嵌套键/值元素提取到数据框中,如下所示:

bc      bd      cb                        D1
string  string  [[[123,123],[123,123]]]   string
N/A     string  [[[123,123],[123,123]]]   string
...
string  N/A     [[[123,123],[123,123]]]   string
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

temp_df = pd.DataFrame(columns = ['bc','bd','cb','D1']

for i in l1:
    temp_df = temp_df.append({'bc': i.get(['B1']['bc'],'N/A'),
                              'bd': i.get(['B1']['bd'],'N/A'),
                              'cb': i.get(['C1']['cb'],'N/A'),
                              'D1': i.get(['D1'],'N/A')}, 
                               ignore_index=True)
Run Code Online (Sandbox Code Playgroud)

我收到的错误如下:

 ---------------------------------------------------------------------------
 TypeError                                 Traceback (most recent call last)
 <ipython-input-113-543c6addad42> in <module>
       1 …
Run Code Online (Sandbox Code Playgroud)

python dictionary nested list pandas

1
推荐指数
1
解决办法
290
查看次数

具有一个函数的列表的嵌套字典的顶级长度

我有一个包含列表的嵌套字典,需要获取字典中每个顶级值中所有列表的长度总和。示例列表如下:

data = {0: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        1: {0: [11, 12],
            1: {0: [13, 14],
                1: [15, 16],
                2: [17, 18, 19, 20],
                3: {0: [43, 34],
                    1: [4],
                    2: [2, 3, 4, 5]}}}}
Run Code Online (Sandbox Code Playgroud)

我相信我有一个使用以下两个函数的可行解决方案:

def TreeSum(tree):
    return [len(v) if isinstance(v, list) else SubTreeSum(v) for v in tree.values()]

def SubTreeSum(tree):
    return sum([len(v) if isinstance(v, list) else SubTreeSum(v) for v in tree.values()])
Run Code Online (Sandbox Code Playgroud)

TreeSum(data)is[10, 17]和it的输出TreeSum(data[1][1])[2, 2, 4, 7]。 …

python nested list

1
推荐指数
1
解决办法
125
查看次数

通过 for 循环创建嵌套字典

我在使用 for 循环在另一个字典中创建具有多个键和值的字典时遇到问题。

我有一个程序可以读取另一个文本文件,然后将其信息输入到字典中。该文件看起来像这样:

GPU;GeForce GTX 1070 Ti;430
CPU;AMD Ryzen 7 2700X;233
GPU;GeForce GTX 2060;400
CPU;Intel Core i7-11700;360
RAM;HyperX 16GB;180
PSU;Corsair RM850X;210
Run Code Online (Sandbox Code Playgroud)

我想要实现的是,我尝试为每个组件类型 {GPU、CPU、RAM、PSU 等} 创建一个字典,并尝试输入另一个字典,该字典由多个键组成以及值为 {name1 :price1, name2 :price2, etc.} 运行程序后,完整的字典应如下所示:

"GPU": {"GeForce GTX 1070 Ti": 430, "GeForce GTX 2060 2": 233},
"CPU": {"AMD Ryzen 7 2700X": 233, "Intel Core i7-11700 : 360},
"RAM": {"HyperX 16GB": 180},
"PSU": {"Corsair RM850X": 210}
Run Code Online (Sandbox Code Playgroud)

但相反,它看起来像这样:

"GPU": {"GeForce GTX 2060 2": 233},
"CPU": {"Intel Core i7-11700 : 360},
"RAM": {"HyperX 16GB": 180},
"PSU": …
Run Code Online (Sandbox Code Playgroud)

python dictionary nested filereader data-structures

1
推荐指数
1
解决办法
2万
查看次数

嵌套的 if 等于和逻辑吗?

我想知道这两个Python代码是否总是相同的。

if condition_1:
    if condition_2:
        some_process
Run Code Online (Sandbox Code Playgroud)

if condition_1 and condition_2:
    some_process
Run Code Online (Sandbox Code Playgroud)

我搜索过但没有找到这个问题的具体答案。因此,例如,您正在尝试评估一个变量,但无法确定该变量是否存在。因此,首先应该检查变量是否存在。我们可以在评估的同时使用带有“与”逻辑的变量存在检查吗?它总是适用吗?

python logic if-statement nested

1
推荐指数
1
解决办法
75
查看次数

VBA 更新/修改多重嵌套字典中的数组

以下是完整的 VBA 代码。我创建了一个多重嵌套字典,其键结构为team>> 。这些值将存储为数组,以便我可以使用 访问这些值。membermthmydict(team)(member)(mth)(0 or 1)

但是,当我通过循环字典键并声明一个临时数组来修改数组元素来更新数组时。它没有走正确的路。

完整的 VBA 代码

Sub test()

Dim mydict1 As New Scripting.Dictionary
Dim mydict2 As New Scripting.Dictionary
Dim mydict3 As New Scripting.Dictionary
Dim mydict4 As New Scripting.Dictionary

For Each mth In Array(1, 2)
    mydict3.Add mth, Array("NA", "NA")
Next mth

For Each member In Array(11, 22, 33)
    mydict4.Add member, mydict3
Next member

For Each team In Array(1, 2)
mydict1.Add team, mydict4
Next team

i = 1

For Each team In …
Run Code Online (Sandbox Code Playgroud)

arrays excel vba dictionary nested

1
推荐指数
1
解决办法
121
查看次数

为什么检查 hash[key] 是否设置为 true(布尔)值的 if 条件不能按预期工作?

我有以下名为 cars 的嵌套哈希

{:honda=>{year=>2008,is_condition_good?=>true},
 :toyota=>{year=>2010,is_condition_good?=>false}
}
Run Code Online (Sandbox Code Playgroud)

我想返回满足 的嵌套哈希is_condition_good? = true。我意识到我可以使用 select 方法cars.select {|car, attributes| attributes[:is_condition_good?]=true},但以下代码似乎也应该有效,但由于某种原因,它不会进入 if 语句循环。我究竟做错了什么?

cars.each do |car, attributes|
  if attributes[:is_condition_good?] == true then
     return attributes
  end
end
Run Code Online (Sandbox Code Playgroud)

attributes[:is_condition_good?]之前打印过cars.each do |car, attributes|,看到它打印了true or false ,而且确实打印了。

ruby hash nested

1
推荐指数
1
解决办法
110
查看次数

我在Python中的嵌套循环有什么问题?

如何在Python(3.0版)中创建嵌套循环?

我想尝试以下循环向我展示两个数字的产品:

def PrintProductsBelowNumber(number):
    number1 = 1
    number2 = 1
    while number1 <= number:
        while number2 <= number:
            print(number1, "*", number2, "=", number1 * number2)
            number2 += 1
        number1 += 1

PrintProductsBelowNumber(2)
Run Code Online (Sandbox Code Playgroud)

结果我得到:

1 * 1 = 1
1 * 2 = 2
Run Code Online (Sandbox Code Playgroud)

所以看起来number1上的外部循环不会运行.

如何使number1循环运行,从而获得:

1 * 1 = 1
1 * 2 = 2
2 * 1 = 2
2 * 2 = 4
Run Code Online (Sandbox Code Playgroud)

python loops nested

0
推荐指数
2
解决办法
8736
查看次数

如何从xml文档的不同部分嵌套xsl:for-each?

我将XSL放在一起,而不是创建一个NAnt构建脚本,使用XML文件作为输入来定义所有需要构建的项目.我们有许多非常相似的项目,包括标准布局和切换区域的定义标准,因此有一个XML文件定义了开发人员想要发生的事情,而不是描述它是如何完成的,这将极大地有助于构建服务的使用.

我想在产品构建XML文件的早期定义要使用的构建模式,即

<Build>
    <BuildModes>
        <Mode name="Debug" />
        <Mode name="Release" />
    </BuildModes>

    <ItemsToBuild>
        <Item name="first item" .... />
        <Item name="second item" .... />
    </ItemsToBuild>
 </Build>
Run Code Online (Sandbox Code Playgroud)

我想要一个

<xsl:for-each select="/Build/BuildModes/Mode">
    <xsl:for-each select="/Build/ItemsToBuild/Item">
        <exec program="devenv">
        <xsl:attribute name="line">
            use the @name from the Mode and other stuff from Item to build up the command line
        </xsl:attribute>
    </xsl:for-each>
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)

现在,我可以通过在两个for-each线之间定义来保持Mode/@ name值,但这有点乱,我真正想要做的是翻转nexting以便构建模式在里面Item循环使它构建一种模式然后构建另一种模式.目前它将构建所有调试,然后构建所有发布版本.要做到这一点,我必须有几个声明,这将变得非常混乱.

因此,当源文档中的元素未嵌套时,它会嵌套.

编辑:

好吧,因为下面接受的答案显示在大多数情况下使用for-each是一个坏主意,我已将此示例重新编写为以下内容.它略有不同,因为我正在使用的架构被简化为上面的帖子,但你明白了.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="ISO-8859-1" indent="yes"/>

<xsl:template match="/BuildDefinition">
    <xsl:apply-templates select="/BuildDefinition/VS2008SLN/DeploymentProject"/>
</xsl:template>

<xsl:template match="/BuildDefinition/VS2008SLN/DeploymentProject">
    <xsl:apply-templates select="/BuildDefinition/BuildModes/Mode">
        <xsl:with-param name="BuildTarget" select="." /> …
Run Code Online (Sandbox Code Playgroud)

xml xslt loops nested xslt-1.0

0
推荐指数
1
解决办法
8827
查看次数

我可以在LinQ中定义默认排序顺序

如果我有一个嵌套的ListView,并且我在LinQ中调用一个相关的表,我如何对它进行排序,而不依赖于父项的ItemDataBound事件?

伪代码(更新解决方案):

<asp:ListView ID="lv" runat="server" OnItemDataBound="lv_ItemDataBound" >
   <LayoutTemplate>
      <!-- Product Category Stuff --> 
      <asp:PlaceHolder Id="itemPlaceholder" runat="server"></asp:PlaceHolder>
   </LayoutTemplate>

   <ItemTemplate>
      <asp:ListView ID="lvInner" runat="server" DataSource='<%# <%# ((Category)Container.DataItem).Products.OrderBy(p => p.Description) %> %>'>
         <LayoutTemplate>
            <ul>
               <asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
            </ul>
         </LayoutTemplate>
         <ItemTemplate>
            <li>Item Stuff</li>
         </ItemTemplate>
      </asp:ListView>
   </ItemTemplate>
</asp:ListView>
Run Code Online (Sandbox Code Playgroud)

也许这种方法看似简单,但我希望内部产品按字段排序.我无法看到以声明方式执行此操作的方法,因为LinQ动态创建此查询,如果我没有弄错,并且不进行排序.

有什么想法吗?

UPDATE

将示例更新为以下内容:

<%# ((Category)Container.DataItem).Products.OrderBy(p => p.Description) %>
Run Code Online (Sandbox Code Playgroud)

希望它可以帮助别人!

linq asp.net sorting listview nested

0
推荐指数
1
解决办法
1063
查看次数