我正在使用PyQt,我正在尝试为用户构建一个多行文本输入框.但是,当我运行下面的代码时,我得到一个只允许输入单行文本的框.如何修复它以便用户可以根据需要输入多行?
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
def window():
app = QApplication(sys.argv)
w = QWidget()
w.resize(640, 480)
textBox = QLineEdit(w)
textBox.move(250, 120)
button = QPushButton("click me")
button.move(20, 80)
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
window()
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个正则表达式来扫描字符串并查找所有"hello"实例,包括大写和小写字母.问题是虽然简单
the_list = re.compile(r'hello')
Run Code Online (Sandbox Code Playgroud)
只需要字符串中的"hello",我希望表达式能够找到大写和小写字母的所有"hello"版本,例如:
Hello, HELlo, hEllo, HELLO, heLLO, etc.
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
the_list = re.compile(r'[a-z][A-Z]hello')
Run Code Online (Sandbox Code Playgroud)
但没有运气.谁能解释一个更好的方法来编写这个正则表达式?
我偶然发现了一个我无法解释的解包问题.
这有效:
tuples = [('Jhon', 1), ('Jane', 2)]
for name, score in tuples:
...
Run Code Online (Sandbox Code Playgroud)
这也有效
for id, entry in enumerate(tuples):
name, score = entry
...
Run Code Online (Sandbox Code Playgroud)
但这不起作用:
for id, name, score in enumerate(tuples):
...
Run Code Online (Sandbox Code Playgroud)
抛出一个ValueError: need more than 2 values to unpack例子.
我用 AT&T 语法编写了一小段程序集,目前在该.data部分中声明了三个变量。但是,当我尝试将这些变量中的任何一个移动到寄存器时,例如%eax,gcc就会引发错误。代码和错误信息如下:
.data
x:.int 14
y:.int 4
str: .string "some string\n"
.globl _main
_main:
pushq %rbp
movq %rsp, %rbp
subq $16, %rsp
movl x, %eax; #attempting to move the value of x to %eax;
leave
ret
Run Code Online (Sandbox Code Playgroud)
引发的错误是:
call_function.s:14:3: 错误:64 位模式不支持 32 位绝对寻址
movl x, %eax;
^
我还尝试通过首先$在 前面添加字符来移动值x,但是,clang引发了错误:
clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
有谁知道如何x成功地将存储的值移动到%eax?我在 Mac OSX 上使用 x86 程序集并使用gcc.
我有数百个看起来像这样的词典.它们都有相同的键(纽约,芝加哥等......)但具有不同的值.没有遗漏的值.
[{'New York': 'cloudy', 'Chicago': 'snowy', 'Seattle': 'rainy'},
{'New York': 'cloudy', 'Chicago': 'hailing', 'Seattle': 'sunny'},
{'New York': 'sunny', 'Chicago': 'snowy', 'Seattle': 'rainy'},
{'New York': 'hailing', 'Chicago': 'snowy', 'Seattle':'snowy'}]
Run Code Online (Sandbox Code Playgroud)
我想计算每个键最常见的"天气"值.然后将它们全部合并到一个最终列表中,该列表仅输出具有其最常见键值的每个城市.
{'New York': 'cloudy', 'Chicago': 'snowy', 'Seattle': 'rainy'}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我在 python 上的任何地方都有一个文件结构:
烧瓶主机(文件夹),其中包含:
app.py 包含 -:
import flask
from flask import request, jsonify
import sqlite3
app = flask.Flask(__name__)
app.config["DEBUG"] = True
def dict_factory(cursor, row):
d = {}
for idx, col in enumerate(cursor.description):
d[col[0]] = row[idx]
return d
@app.route('/', methods=['GET'])
def home():
return '''<h1>Distant Reading Archive</h1>
<p>A prototype API for distant reading of science fiction novels.</p>'''
@app.route('/api/v1/resources/books/all', methods=['GET'])
def api_all():
conn = sqlite3.connect('books.db')
conn.row_factory = dict_factory
cur = conn.cursor()
all_books = cur.execute('SELECT * FROM books;').fetchall()
return jsonify(all_books)
@app.errorhandler(404) …Run Code Online (Sandbox Code Playgroud) 我写了一个简单的递归函数来删除具有最大总和的列,直到数据帧减少到我想要的大小.这是代码:
s = pd.DataFrame({'a': [1,1,1,1,1,1],
'b': [2,2,2,2,2,2],
'c': [3,3,3,3,3,3],
'd': [4,4,4,4,4,4],
'e': [5,5,5,5,5,5]})
def recSelect(inputdf):
if inputdf.shape[1]<=2:
return inputdf
else:
total = inputdf.sum()
idx = total.idxmax()
inputdf.drop(idx, axis=1, inplace=True)
return recSelect(inputdf)
recSelect(s)
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,首先删除列'e',然后删除列'd',然后删除'c'.我的问题是:我如何正确地返回'idx'并获得一个列表为['e','d','c']?
这是我尝试过的但它不起作用:
idxs = [] # create an empty list
def recSelect(inputdf):
if inputdf.shape[1]<=2:
return inputdf
else:
total = inputdf.sum()
idx = total.idxmax()
idxs.append(idx) # append each idx
inputdf.drop(idx, axis=1, inplace=True)
return recSelect(inputdf), idxs
Run Code Online (Sandbox Code Playgroud) mylist = [{"a" : 1, " b" : 2}, {"c" : 1, "d" :2}]
Run Code Online (Sandbox Code Playgroud)
我的清单就是这样的.我如何删除包含密钥'a'的整个字典?
python dictionary list-comprehension dictionary-comprehension
我在Python中有一个通过imap库检索的原始字符串。
看起来像这样:
Season: Winter 2017-18
Activity: Basketball - Boys JV
*DATE: 02/13/2018 * - ( previously 02/06/2018 )
Event type: Game
Home/Host: Clear Lake
Opponent: Webster City
*START TIME: 6:15PM CST* - ( previously 4:30PM CST )
Location: Clear Lake High School, 125 N. 20th Street, Clear Lake, IA
Run Code Online (Sandbox Code Playgroud)
刮取每个标签(label为DATE:)之后的数据的最佳方法是什么?例如,DATE: 02/13/2018 * - ( previously 02/06/2018 )将其设置为等于,如变量Date,因此在print(date)打印时02/13/2018 * - ( previously 02/06/2018 )将作为输出。
我尝试了以下代码,但每行只打印一个字符。谢谢!
for line in message:
if "DATE:" …Run Code Online (Sandbox Code Playgroud) 是否可以在 python 中编写一个不需要任何参数传递给它的 lambda 函数?例如,有没有办法翻译这个函数:
def file_opener():
f = open('filename.txt').read()
return f
Run Code Online (Sandbox Code Playgroud)
或者任何其他没有传递输入到 lambda 表达式的函数?