小编daw*_*awg的帖子

二维数组/字典组合

有没有办法定义二维数组/字典组合,其中第一个值是枚举,第二个是关联?理想情况下,最终结果如下所示,其中第一个是简单索引,第二个是键 - >值对.

data[0]["Name"] = ...
Run Code Online (Sandbox Code Playgroud)

提前致谢!

python arrays dictionary

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

用Python替换列表中的项目

我是python和编程的新手,需要一些帮助替换列表字典中的项目.我想,以取代None'None'下面的词典:

dict = {'Chester100': ['Caesar, Augustus', '05/10/2012', '09/09/2012', None],
        'Rochester102': ['Henrich, Norton', '08/18/2014', '12/17/2014', None],
        'Rochester100': ['Caeser, Julius', '08/18/2014', '12/17/2014', None],
        'Rochester101': [None, None, None, '08/18/2012']}
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

new_dict = {}

for i in dict: #This accesses each dictionary key.
    temp = []
    for j in dict[i]: #This iterates through the inner lists
        if j is None:
            temp.append('None')
        else:
            temp.append(j)
        temp2 = {str(i):temp}
        new_dict.update(temp2)

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

产量

{'Chester100': ['Caesar, Augustus', '05/10/2012', '09/09/2012', 'None'], 
'Rochester102': ['Henrich, Norton', '08/18/2014', '12/17/2014', …
Run Code Online (Sandbox Code Playgroud)

python dictionary list nested-loops python-3.x

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

尝试随机化数据集时出现奇怪的错误

我尝试使用以下代码对数据进行洗牌。

import pandas as pd
import numpy as np

from sklearn.naive_bayes import MultinomialNB
 data = pd.read_csv('dataset.txt')
 np.random.shuffle(data)
Run Code Online (Sandbox Code Playgroud)

然而,运行它会给我以下错误。我不明白这个错误是从哪里来的。

Traceback (most recent call last):
File "sample2.py", line 12, in <module>
 np.random.shuffle(data)
File "mtrand.pyx", line 4668, in mtrand.RandomState.shuffle (numpy/random /mtrand/mtrand.c:30498)
 File "mtrand.pyx", line 4671, in mtrand.RandomState.shuffle (numpy/random/mtrand/mtrand.c:30438)
 File "/Users/marcvanderpeet/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pandas/core/frame.py", line 1992, in __getitem__
 return self._getitem_column(key)
 File "/Users/marcvanderpeet/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pandas/core/frame.py", line 2004, in _getitem_column
 result = result[key]
 File "/Users/marcvanderpeet/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pandas/core/frame.py", line 1992, in __getitem__
 return self._getitem_column(key)
 File "/Users/marcvanderpeet/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pandas/core/frame.py", line 1999, in _getitem_column
 return self._get_item_cache(key)
 File "/Users/marcvanderpeet/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pandas/core/generic.py", …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

将带有键和值的字符串转换为python dict的最有效方法

如何转换字符串

{"key"=>"Number of Contents in Sales Package", "value"=>"Pack of 3"}
Run Code Online (Sandbox Code Playgroud)

进入像这样的字典

{'Number of Contents in Sales Package':'Pack of 3'}?
Run Code Online (Sandbox Code Playgroud)

python regex string dictionary

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

哪一种是比较Python中数字的更好方法?又为什么呢?

因此,如果我想比较Python中的数字,例如,检查数字是否落在2到100的范围内。
以下哪种方法最可取,为什么?

使用比较运算符?

if(n>=2 and n<=100):
    print("Okay")
Run Code Online (Sandbox Code Playgroud)

或使用range()函数?

if(n in range(2,101)):
    print("Okay")
Run Code Online (Sandbox Code Playgroud)

如果比较非常大,您的答案也会改变吗?

python python-3.x

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

如何将较高的值减少到 1 并从右到左排序

我想制作一个 python 程序,它可以快速减少数组/列表中大于 1 的数字,并将其放在它前面的空白位置。假设我们有:

li = [4,1,0,0,0,1,3,0]   
Run Code Online (Sandbox Code Playgroud)

我们会得到:

rtr = [1,1,0,1,1,1,1,0]
Run Code Online (Sandbox Code Playgroud)

注意 4 是如何变成 1 的,因为它已经在左边了,然后 3 在已经被取走的 1 之前被分成了 2 个位置。谁能帮我解决这个问题?

python sorting list

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

在 bash 脚本中循环固定字符串或变量字符串

我是 bash 脚本的新手,有两个循环如下:

#!/bin/bash

##########
# Loop 1 #
##########
for x in "one two three four";
do
    echo $x
done
Run Code Online (Sandbox Code Playgroud)

输出:

one two three four
Run Code Online (Sandbox Code Playgroud)
##########
# Loop 2 #
##########
var="one two three four"
for x in $var;
do
    echo $x
done
Run Code Online (Sandbox Code Playgroud)

输出:

one
two
three
four
Run Code Online (Sandbox Code Playgroud)

我正在寻找指针来帮助理解为什么第一个循环echo是字符串,而第二个循环在空格处拆分,然后echo是每个拆分的单词。

编辑:为了清楚起见,重新表述了问题。

bash

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

带有函数的 Ruby 迭代器。返回函数的第一个值而不迭代整个列表

我有一个数组:arr=[x1, x2, x3...]和一个函数,该函数基于第一个函数返回一个值x,因为arr该函数是真实的。

本质上:

# my_x is the return of func() 
# with the first x in arr that func(x) is true
# and the entire arr array is not processed.

my_x=arr.ruby_magic{|x| func(x) } 

my_x should be equal to first true value return of func(x)
Run Code Online (Sandbox Code Playgroud)

假设每个Xinarr都是一个正则表达式模式。无需运行每个正则表达式,我想返回第一场比赛的捕获组。

在 Python 中,我会用next. 它将运行每个谓词,直到返回真值,然后将该值传递给m。如果没有 true return,None则用作默认值,但该默认值可以是任何值:

import re 

patterns=[r"no match", r": (Value.*?pref)", r": (Value.*)", r"etc..."]

s=""" 
This is …
Run Code Online (Sandbox Code Playgroud)

ruby

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

Python对象列表奇怪的行为

我刚开始学习Python并且来自Java/C++背景,并发现以下行为有点令人困惑.在调用s.add_trick("Woof")和d.add_trick("Woof")后,s.tricks和d.tricks都包含["Woof","Bark"].但是,调用party()没有相同的行为.谁能解释一下?

class PartyAnimal:
    x = 0
    name = ''
    tricks = []

    def __init__(self, name):
        self.name = name

    def party(self):
        self.x += 1

    def add_trick(self, trick):
        self.tricks.append(trick)

s = PartyAnimal("Sally")
d = PartyAnimal("Danny")

s.party()
d.party()
s.add_trick("Woof")
d.add_trick("Bark")

print 's', s.name, s.x, s.tricks
print 'd', d.name, d.x, d.tricks
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

s Sally 1 ['Woof', 'Bark']
d Danny 1 ['Woof', 'Bark']
Run Code Online (Sandbox Code Playgroud)

python

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

用于删除 unix 目录中每个文件的所有列(仅选择列)的命令

我有一个包含许多文件的目录,并且想要编辑每个文件以仅包含选定的几列。

我有以下代码,它只会打印第一列

for i in /directory_path/*.txt; do awk -F "\t" '{ print $1 }' "$i"; done
Run Code Online (Sandbox Code Playgroud)

但如果我尝试通过添加 >'$I' 来编辑每个文件,如下所示,那么我会丢失文件中的所有信息

for i in /directory_path/*.txt; do awk -F "\t" '{ print $1 }' "$i" > "$i"; done
Run Code Online (Sandbox Code Playgroud)

不过,我希望能够删除每个文件中除选定的几列之外的所有列,例如 1 和 3。

unix bash

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

Perl脚本多线程没有并行运行

我对Perl来说是全新的,就像绝对的新手一样.我正在尝试开发一个读取数据库的系统,并根据结果生成一个启动另一个脚本的队列.

是源代码.

现在脚本按预期工作,除了我注意到它并没有真正使线程并行.无论我使用1个线程还是50个线程,执行时间都是一样的; 1个线程甚至更快.当我有脚本显示哪个线程做了什么,我看到线程不会同时运行,因为它将执行线程1,然后是2,然后是3等.

有谁知道我在这里做错了什么?脚本本身也可以工作,而不是并行线程.

mysql perl multithreading

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