小编wja*_*rea的帖子

bash source 命令不适用于管道

有 3 个文件(abc),均具有777权限:

$ ls
a  b  c
Run Code Online (Sandbox Code Playgroud)

上述文件有以下内容:

$ cat a
#!/bin/bash
export A=aaa
$ cat b
#!/bin/bash
source ./a
echo $A
$ cat c
#!/bin/bash
source ./a | >> log
echo $A
Run Code Online (Sandbox Code Playgroud)

b和之间的唯一区别c| >> log

$ diff b c
2c2
< source ./a
---
> source ./a | >> log
Run Code Online (Sandbox Code Playgroud)

执行时b会输出预期的结果aaa

$ ./b
aaa
Run Code Online (Sandbox Code Playgroud)

执行时c,对我来说,它输出一个意外的空白行而不是预期的aaa,并且log脚本 …

bash pipe

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

python 3.6错误或者我疯了

检查列表中的项目是否连续。

[True for x in lst[:-1] for y in lst[1:] if x + 1 == y]
Run Code Online (Sandbox Code Playgroud)

所以列表[1, 2, 3, 4, 5] 返回[True, True, True, True]意味着列表是连续的。

list[1,2,3,4,4] 返回[True, True, True, True]意味着 list 是连续的,但事实并非如此。

为每个语句做证明

lst = [1,2,3,4,4]


def consecutive(lst):    
    lst.sort()
    return [True for x in lst[:-1] for y in lst[1:] if x + 1 == y]


print(consecutive(lst))

some_list = []
for i,j in zip(lst[:-1], lst[1:]):
    if i+1 == j:
        some_list.append(True)
    else:
        some_list.append(False)

print(some_list)
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?

python list-comprehension list python-3.x

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

如何在 Python 中减去两个具有非唯一元素的列表?

假设我有两个列表,例如:

list1 = ['a', 'c', 'a', 'b']
list2 = ['a', 'a', 'a', 'a', 'b', 'c', 'c', 'd', 'e', 'f']

list_final = list2 - list1
list_final = ['a', 'a', 'c', 'd', 'e', 'f']
Run Code Online (Sandbox Code Playgroud)

我认为set(lists)和使用.difference 的方法不会有帮助,因为它不是一个唯一的集合。任何形式的帮助将不胜感激,我对语言不熟悉,所以欢迎任何和所有答案/提示!

python python-3.x

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

如何将字典中的两个值映射到单个字典中?

如果我有字典

Singers = [
 {'Singer_ID': 'S00464040',
  'City': 'BIRMINGHAM',
  'First': ' MARTHA RENEE',
  'Last': 'BOZEMAN',
  'State': 'AL',
  'Zipcode': '35201'},
 {'Singer_ID': 'S00460410',
  'City': 'BIRMINGHAM',
  'First': ' EARL FREDERICK JR',
  'Last': 'HILLIARD',
  'State': 'AL',
  'Zipcode': '35202'},
 {'Singer_ID': 'S00461038',
  'City': 'BIRMINGHAM',
  'First': ' SHEILA',
  'Last': 'SMOOT',
  'State': 'NY',
  'Zipcode': '87201'}]
Run Code Online (Sandbox Code Playgroud)

我怎么能写一个匹配 Singer: ID 和 State 的函数?

例如返回:

{'S00464040': 'AL',
 'S00460410': 'AL',
 'S00461038': 'NY'}
Run Code Online (Sandbox Code Playgroud)

python dictionary

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

你将如何创建一个带有整数键和值为 0 的字典?

你将如何在 python 中创建一个字典,它看起来有点像这样:

{1:0, 2:0, 3:0, 4:0, ...}
Run Code Online (Sandbox Code Playgroud)

对于特定的迭代次数?

python dictionary python-3.x

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

为什么这个python循环会无穷大?

a = 10
counter = 0
condition = (counter<3)
while condition:
    a= a +1
    print (a)
    counter = counter + 1
Run Code Online (Sandbox Code Playgroud)

图片说明

python python-3.x

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

如何合并三个数组?

我的数据集由三列组成,我需要将数据合并为一列。例如,如果 1、2 和 3 是每列的第一个条目,则合并列应该是 123。我试图用 concatenate 命令解决这个问题,但它没有用。这是我的脚本:

tr = pd.read_csv("YMD.txt", sep='\t',header=None)

Y = tr[0]
M = tr[1]
D = tr[2]
np.concatenate((Y, M, D)) 
Run Code Online (Sandbox Code Playgroud)

python

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

为什么使用“:=”时,嵌套 lambda 中的变量被视为本地变量?

为什么 python3.8+ 在使用 := 时将结果视为嵌套 lambda 中的局部变量,但在其他情况下则不然?

>>> counter = (lambda result: (lambda: (result + 1)))(0)
>>> counter()
1
>>> counter = (lambda result: (lambda: (result := result + 1)))(0)
>>> counter()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 1, in <lambda>
UnboundLocalError: local variable 'result' referenced before assignment
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

使用 Python AST 确定字符串是否已硬编码到打印调用中

我正在尝试编写一个函数,该函数将使用 AST 来确定某个字符串是否已被硬编码到打印函数调用中。例如,如果这是整个 Python 文件:

print("hard coded")
Run Code Online (Sandbox Code Playgroud)

我得到的树如下:

with open(filename, 'r') as f:
    tree = ast.parse(f.read())

nodes = [node for node in ast.walk(tree)]
Run Code Online (Sandbox Code Playgroud)

现在nodes包含[<_ast.Module object at 0x7fa250286150>, <_ast.Expr object at 0x7fa250286050>, <_ast.Call object at 0x7fa2502642d0>, <_ast.Name object at 0x7fa228014610>, <_ast.Str object at 0x7fa228014710>, <_ast.Load object at 0x7fa2280080d0>]

通过测试 attrs 我可以发现nodes[2]有一个.func.idand nodes[2].func.id == 'print',所以这是我的打印命令。但是我如何找到传递给这个打印命令的参数呢?硬编码字符串位于ast.Str列表索引 4 处出现的对象中,但我需要专门确定该字符串已传递给打印,而不仅仅是该字符串出现在文件中。

python abstract-syntax-tree

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

如何为每个类实例创建一个新对象?

请看下面的代码片段,我问了下面的问题

class SAMPLES:
    x = np.zeros(10)

    def __init__(self, k, value):
        self.x[k] = value


a = SAMPLES(0, 9)
b = SAMPLES(0, 10)
print(a.x[0])
print(b.x[0])
Run Code Online (Sandbox Code Playgroud)

输出:

10
10
Run Code Online (Sandbox Code Playgroud)

但输出必须是:

9
10
Run Code Online (Sandbox Code Playgroud)

我应该如何解决这个问题?

python

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