您可以使用
difflib.Sequecemecematcher
并从下面的两个列表中找到每个两个单词之间的相似性:(输出仅显示两个具有相似性> 70%的单词)
from difflib import SequenceMatcher
TotalTags = ["citrus", "orange", "vitamin-C", "sweet", "yellow", "vitamin-A"]
LikedTags = ["citrus", "orange", "vitamin-D"]
for a in LikedTags:
for b in TotalTags:
sim = SequenceMatcher(None, a, b).ratio()
if sim > 0.7:
print(f'similarity of {a} & {b} : {sim}')
输出:
similarity of citrus & citrus : 1.0
similarity of orange & orange : 1.0
similarity of vitamin-D & vitamin-C : 0.8888888888888888
similarity of vitamin-D & vitamin-A : 0.8888888888888888
您在这里拥有的是 种族条件 。在Java的特殊情况下,我们可以从 JLS
两个访问(读取或写入)同一变量被认为是相互冲突,如果至少一个访问是写入。
您有一个变量,并且有两个线程同时访问它,其中其中一个线程正在写入其中。要保护此数据,您需要 synchronize 两次访问。通常,建议在类型对象
的私有实例变量上同步,以便没有其他人对该变量进行引用。 (同步
方法的默认行为是在 this
上同步,如果有参考
此同步的其他人,它可能会引起问题同样),
private boolean running;
private Object lock;
public MyClass() {
lock = new Object();
}
...
@Override
public void run() {
startTime = System.currentTimeMillis();
synchronized (lock) {
running = true;
}
while (isRunning()) {}
}
public boolean isRunning() {
synchronized (lock) {
return running;
}
}
@Override
public void interrupt() {
synchronized (lock) {
running = false;
}
}
而且,正如评论中已经指出的那样,当您做这样的事情时,通常会皱眉 thread
。考虑在 Runnable
子类中制作 Run()
,然后只需使用 thread
构造函数即可。
好吧,我认为问题是来自编译器的想法,我尝试使用 viewModels()
与list而不是viewModel这样的android函数,我也遇到了相同的问题,这个想法不会显示任何错误:
但是,当您编译代码时,您会收到一个错误:
这样您就可以忽略这个想法,这只是这个想法的问题,您的代码中也有一些错误
,代码> val组件:list<设备> 这应该是 val组件:list<组件>
return components.firstornull {它是t
,这应该是 retode> retocer components.firstornull {它是t?
,因为您是因为您无法将NULL类型施放为非零类型,
因此您的代码应该看起来像这样:
open class Component
class ComponentA: Component()
class Equipment(val components: List<Component>) {
inline fun <reified T> getComponent(): T? {
return components.firstOrNull { it is T } as T?
}
val ca: ComponentA by find<ComponentA>() //this is what I intend to do
// val ca1: List<ComponentA> by find() //no error or warning
// val ca2 by find<List<ComponentA>>() //Error: Type argument is not within its bounds
}
inline fun <reified T> find(): ReadOnlyProperty<Equipment, T> where T : Component {
return ReadOnlyProperty { ref, _ -> ref.getComponent<T>() ?: throw Exception("Not found") }
}
这可能对您有用(GNU SED):
sed -E '/#/{x;s/^/x/;x};/#/,/\$/{x;/^x{2}$/{x;d};x}' file
在保持空间中设置一个计数器,并使用它来确定要删除哪个范围。
这具有能够删除一系列范围的额外优势,例如,
sed -E '/#/{x;s/^/x/;x};/#/,/\$/{x;/^x{2,3}$/{x;d};x}' file
这将删除第二和第三范围。
使用以下任何一个 groupby
和 agg
配方。
# Setup
df = pd.DataFrame({
'a': ['A', 'A', 'B', 'B', 'B', 'C'],
'b': [1, 2, 5, 5, 4, 6],
'c': ['x', 'y', 'z', 'x', 'y', 'z']
})
df
a b c
0 A 1 x
1 A 2 y
2 B 5 z
3 B 5 x
4 B 4 y
5 C 6 z
要汇总多列作为列表,请使用以下任何一个:
df.groupby('a').agg(list)
df.groupby('a').agg(pd.Series.tolist)
b c
a
A [1, 2] [x, y]
B [5, 5, 4] [z, x, y]
C [6] [z]
要组合单列,请将groupby转换为 seripergroupby
对象,然后调用 seripergroupby.agg
。使用,
df.groupby('a').agg({'b': list}) # 4.42 ms
df.groupby('a')['b'].agg(list) # 2.76 ms - faster
a
A [1, 2]
B [5, 5, 4]
C [6]
Name: b, dtype: object
对我来说,还有另一个问题。如果您尝试添加一个过去的文件夹,该文件夹在过去有一个 .idea
文件夹,但是您当前的项目具有自己的 .idea
文件夹,您的pycharm可能会因为某种原因而感到困惑 - - 即使您拥有合适的Python/Conda Env。对我而言,删除另一个项目的 .idea
文件夹修复了可以找到明显正确安装的pkgs的混乱。然后,就可以在Pycharm编辑Gui SNF中找到它们,不再以红色为基础。
当然。我假设您想回答“视图引用什么对象?”的问题。您可以在以下查询中找到:
select referenced_schema_name, referenced_entity_name
from sys.sql_expression_dependencies
where referencing_id = object_id('HumanResources.vEmployee');
显然, humanResources.vemployee
在您的视图中(我使用了Ventailing AdventureWorks2019数据库作为测试)。
要在Apache2 phpinfo()中更改PHP版本(PHP版本之间的切换)
解决方案:
我已经通过几个步骤完成了这个解决方案,您可以尝试。
假设我试图将活动版本php8.1更改为php7.4:
step1:第一个停止/禁用活动版本
sudo a2dismod php8.1
systemctl restart apache2
步骤2:首先启动/启用目标版本
sudo a2enmod php7.4
步骤3:restart apache2
systemctl restart apache2
或
sudo service apache2 restart
step4:手动设置位置:或设置位置:
sudo update-alternatives --set php /usr/bin/php7.4
sudo update-alternatives --set phar /usr/bin/phar7.4
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.4
或
您也可以尝试以下方法
sudo update-alternatives --config php
sudo update-alternatives --config phar
sudo update-alternatives --config phar.phar
步骤6:
systemctl restart apache2
现在已解决,眉毛
phpinfo
示例:
在本地服务器中创建一个名为phpinfo.php的页面。
<?php
echo phpinfo();
?>
http://localhost/phpinfo.php
您不能仅仅将一堆代码转载到类文件中。类文件定义了行为 - 本身不是“您可以运行的东西”。 censored.add(“ example1”)
是一个语句,它必须在方法,构造函数或初始化器块中。
错误:
class Example {
ArrayList<String> censored = new ArrayList<String>();
censored.add("example1");
}
正确:
class Example {
ArrayList<String> censored = new ArrayList<String>();
// This is a constructor
Example() {
censored.add("example1");
}
}
这是极其基本java。如果这将您扔给您足以开始提出问题的循环,那么您就可以在走路之前尝试运行。找到一个Java教程,仔细浏览它。现在忘了在《我的世界》上骇客,请先学习一些Java。然后回到它。
H = {1: [1, 6, 3, 4, 5], 2: [1, 3, 2, 4, 5], 3: [1, 6, 3, 4, 5]}
occurences = dict()
for i in H.keys() :
k = 0
for j in H.keys():
if H[j] == H[i] :
k += 1
if i not in occurences.keys():
occurences[i] = k
创建一个滚动控制器,如下所示,
final ScrollController _scrollController = ScrollController();
将其设置为列表视图,如下所示,
child: ListView.builder(
controller: _scrollController,
.....
当您想将其滚动到顶部时,请添加以下代码。
_scrollController.animateTo(
_scrollController.position.minScrollExtent,
duration: Duration(milliseconds: 500),
curve: Curves.fastOutSlowIn);
在您的示例中,您可以喜欢
else if (snapshot.hasData) {
_scrolltoTop();
return Expanded(
child: ListView(
padding: const EdgeInsets.all(0.0),
scrollDirection: Axis.vertical,
children: snapshot.data!.map((word) => Padding(...)).toList(),
),
);
}
void _scrolltoTop(){
Future.delayed(const Duration(milliseconds: 1000), () {
_scrollController.animateTo(
_scrollController.position.minScrollExtent,
duration: Duration(milliseconds: 500),
curve: Curves.fastOutSlowIn);
});
}
您也可以尝试使用 scrollto()
看法。
如果我正确理解您的请求,您应该做这样的事情:
const ListPage = () => {
const itemSize = 400
const items = [{ name: 'a' }, { name: 'b' }, { name: 'c' }]
const scrollView = useRef(null)
return (
<View style={{ flex: 1 }}>
<View
style={{
padding: 20
}}
>
{items.map((item, index) => (
<TouchableOpacity
key={`head-${index}`}
style={{
backgroundColor: 'red'
}}
onPress={() => {
scrollView.current.scrollTo({ x: 0, y: itemSize * index, animated: true })
}}
>
<Text style={{ fontSize: 20 }}>{item.name}</Text>
</TouchableOpacity>
))}
</View>
<ScrollView ref={scrollView}>
{items.map((item, index) => (
<View
key={`body-${index}`}
style={{
height: itemSize,
backgroundColor: 'green'
}}
>
<Text>{item.name}</Text>
</View>
))}
</ScrollView>
</View>
)
}
您可以使用其他 - 如果进行这项工作。以下是TradingView建议使用Else-If的官方语法。交易视图不允许将值分配给变量多次。
根据您的查询:
Inst = if syminfo.tickerid == "BINANCE:ATOMUSDT"
"BTCUSDTPERP_OI"
else if syminfo.tickerid == "BINANCE:AVAXUSDT"
"AVAXUSDTPERP_OI"
这是获取与它们相关的分类法和ACF领域的一种方法。也应该在自定义分类法上工作。
<?php
$categories = get_terms( array(
'taxonomy' => 'categories',// any term
'hide_empty' => false,
) );
if ($categories) {
foreach ($categories as $cat) {
$term_fields = get_fields('term_'.$cat->term_id);
if ($term_fields) {
$image = $term_fields['image'];
//you have access to all image sizes
?>
<img src="<?=$image['sizes']['large'];?>" alt="" />
<?php
}
}
?>
上面的代码将在WordPress&gt; 5.5.0
谢谢你!
将apps.py
和设置修改为
runserver工作!
Thank you Lain!
Modified the apps.py to
and the settings.py as
runserver worked!
ModulenotFoundError:No模块名为&#x27; app1&#x27;