我需要读取python脚本中的shell命令输出,并用每一行填充一个列表:
问题:如果我将命令输出保存为变量,则循环循环逐字符读取它。
#!/usr/bin/python
import subprocess
CMD = "ls -la"
output = subprocess.check_output(CMD, shell=True)
list = []
for line in output:
list.append(line)
print list
坏输出: 't','o','t','a','l
我是python的新手,正在尝试创建一个马尔可夫链。其他示例显示了对象实例的用法,我并没有深入到这一步。我还没有完成值部分的随机选择,但到目前为止,我基本上对这段代码的输出感到困惑。
filename = open("dr-suess.txt")
def make_list(filename):
"""make file a list and a list of tuple tup_pairs"""
file_string = filename.read() #read whole file
file_
我正在学习脚本语言,python。我非常了解Java。我正在尝试将一段代码从Java转换到python。但是它们的行为不稳定(或者我的理解完全错误)--我在Java中有下面的代码,我将无限期地向ArrayList添加元素。因此,这会导致外部内存错误,我希望:
import java.util.*;
public class Testing{
public static void main(String[] args){
ArrayList<Integer> list = new ArrayList<Integer>();
list.add
我是这个python语言的新手:在下面的pgm中显示列表中的独特元素时,我遇到了一些问题:以下是我的程序:
def unique_list(lst):
c = []
for i in lst:
if (lst.count(i)>=1) & i not in c:
c.append(i)
#print(c)
return c
print(unique_list([1,1,1,2,2,3,3,4,5]))
我收到的输出如下:
用[1,2,2,4]代替[1,2,3,4,5]
我认为在if stm
我想在Python中存储变量的中间值。此变量在循环中更新。当我尝试使用list.append命令执行此操作时,它会用变量的新值更新列表中的每个值。我该怎么做呢?
while (step < maxstep):
for i in range(100):
x = a*b*c
f1 += x
f2.append(f1)
print f2
raw_input('<<')
step += 1
预期输出
[array([-2.03,-4.13])]
<<
[array([-2.03
def front_x(words):
list2 = []
for word in words:
if word[0] == 'x':
list2.append(word)
words.remove(word)
words.sort()
list2.sort()
return list2 + words
def main():
print(front_x(['bbb', 'ccc', 'axx', 'xzz', 'xaa']))
i
我的老师在第二周的计算机课上给我做了一个练习:
编写了一个Python程序来创建和打印一个列表,其中的值首先是N个数字的平方。您需要实现一个名为printSquare()的函数,以取n,其中n是正整数。
我正在尝试写一个叫做printSquare()的函数。例如,printSquare(5)的预期输出是[1, 4, 9, 16, 25]。
def getList(num):
list=[]
for i in range(int(num)):
list.append(i)
return list
def printSquare(num):
wh
例如,如果字符串是pyeneapple,那么答案应该是p,因为p是字符串中再次出现的第一个元素(而不是e)。
有人能帮上这个Python代码吗?
以下是我的尝试:
thestring = "pyeneapple"
list_a = []
list_b = []
for i in thestring:
if i in list_a:
list_b.append(i)
else:
list_a.append(i)
print(list_b[0])
问题是,这段代码输出e作为答案,而不是p。
我想删除我的python列表中的某些重复项。我知道有方法可以删除所有重复项,但我希望在保持列表顺序的同时只删除连续的重复项。
例如,我有一个如下列表:
list1 = [a,a,b,b,c,c,f,f,d,d,e,e,f,f,g,g,c,c]
但是,我希望删除重复项,并保持顺序,但仍然保留2c和2f,如下所示:
wantedList = [a,b,c,f,d,e,f,g,c]
到目前为止,我有这样的想法:
z = 0
j=0
list2=[]
for i in list1:
if i == "c":
z = z+1
if (z==1):
我希望通过Python中的函数来生成多个空数据。
import pandas as pd
df_list = []
def create_multiple_df(num):
for i in range(num):
df = pd.DataFrame()
df_name = "df_" + str(num)
exec(df_name + " = df ")
df_list.append(eval(df_name))
for i in df_list:
yield i
当我create_multipl
我是Python的新手,我不能把我的注意力集中在使用以下代码的结果上:
def func(a,b=set()):
res=list()
for i in a:
if i not in b:
res.append(i)
b|={i}
return res
print(func([1,1,2,2,3,4]))
print(func([1,1,2,2,3,4]))
我得到了输出:
[1,2,3,4]
[]
我把"print(b)“放在"res=list()”上面,得到了输出:
set()
[1,
我正在编写一个python脚本,以便在给定的目录中查找最新的zip文件。我刚刚写完它,但是在大于30 GB的数据上给出输出需要很长的时间。它需要大约45分钟才能运行。关于如何提高脚本的性能以提高运行速度,有什么建议吗?我在windows10上使用python 2.7。
import os, glob
from datetime import datetime
def findZip_Dir_list(cwd):
file_dirs = []
for (dirname, dirs, files) in os.walk(cwd):
for filename in
输出是这样的,很奇怪,正如我在run函数中所想的那样,它也应该输出列表数据
list running []
追加列表1
list running []
追加列表% 1、%2
list running []追加list 1,2,3
list running []
追加列表% 1、% 2、% 3、%4
list running []
追加列表% 1、% 2、% 3、% 4、%5
from multiprocessing import Process
class A(Process):
def __init__(self):
Process.__init__(self)
程序如下,我在python的多处理包中使用了函数imap_unorder。
from multiprocessing import Pool
def f(x):
return x,x*x
x_list = []
y_list = []
with Pool(processes=2) as pool:
for x,y in pool.imap_unordered(f, range(4)):
x_list.append(x)
y_list.append(y)
x_list和y_list是否保持一致?
我知道函数imap_unordered没有有序地
我想通过字典多次映射一个值,并记录中间值。由于list.append()没有返回一个值,下面是我所能想到的最好的值。在Python中是否有更好的方法来做到这一点,比如使用列表理解或递归?
def append(v, seq):
seq.append(v)
return v
def multimap(value, f, count):
result = []
for _ in range(count):
value = append(f[value], result)
return result
print( multimap(
我的代码在python2.x版本上运行良好,但是当我试图在python3.x版本上运行它时,它会产生错误。
主题:需要缩写短信编码中的任何消息。
代码:
def sms_encoding(data):
#start writing your code here
print(data)
data.split(" ")
data_list=data.split(" ")
sms_encd=[]
final_sms=""
for i in range(len(data_list)):
我使用python和OS。我有一个名为list.dat的文件,它包含以下内容:
item1, a
item2, b
item3, c
我有一个python脚本:
list=[]
f=open('list.dat','r')
for line in f.readlines():
list.append(line.rsplit(','))
f.close()
print list
它产生的输出:
[['item1', ' a\n'], ['item2', ' b\n'], [
只是在学习Python3,做函数构建。我有一组函数,可以从用户接收多个元素并输出唯一的元素。我想知道我是否可以改善程序的外观,因为如果有大量的输入链接在一起,一个接一个,每个都在新的一行上。理想情况下,每次用户按enter键时,输入行都会获取元素,并且同一行将重置为下一个值。
这就是我所拥有的:
userlist = []
uniquelist = []
def make_list(list): #function to assign only unique list values
for u in userlist:
if u not in uniquelist:
我有一个关于如何在python中创建子列表的问题。
我想输入3个值,并将它们添加到一个带有函数的子列表中,并调用它们3次。
但出于某种原因,我不能创建子列表。
我希望我的输出是这样的:[字符串1,字符串2,字符串3,10,20,30,2.7,5.5,12.2]
word = input("add text (end stops): ")
list=[]
while word != 'end':
a = int(input("add int: "))
b = float(input("add float: "))
输入->
a=[16,21, 56, 40]
**Code I wrote**
def find_primes(a):
num_factors=[]
for num in a:
# print('1',num)
list_of_factors=[]
i=2
while num>1:
#print('2',num)
if num%i==0:
list_of_factors.append(i)
当向字典添加新数据时,我想了解python中的内存分配是如何工作的。在下面的代码中,我一直在等待每一个新添加的数据都被堆叠在最后,但是它并没有发生。
repetitions = {}
for item in new_deltas:
list_aux = []
if float(item[1]) <= 30:
if float(item[0]) in repetitions:
aux = repetitions[float(item[0])]
aux.append(item[1])
re
为什么容量会从8减少到10?
#Do not remove the below import statement
import sys
'''This function provides the capacity, size and space left in the list.
You can invoke it to get the details of the list'''
def list_details(lst):
#Number of elements that can be stored in the list
我开始做代码来执行Vigenere密码加密。首先,我想做钥匙。密钥需要一遍又一遍地重复,直到它与要加密的消息长度匹配为止,因此我创建了一个函数,可以为我做到这一点:
def makekey(key, message):
finalkey = []
print(message) # to see if the key fits under the message correctly
key = list(key)
while len(finalkey) < len(message): # while the key is shorter than the m