有没有办法在单独的数组之间共享变量?

时间:2019-05-21 14:26:38

标签: python-3.x list arraylist

我想知道是否可以同时将变量存储在不同的数组中,目的是说“如果在此列表中,请执行此操作,如果也在此列表中,请执行此操作”。基本上,我想看一些共享变量的例子,但是当我查找它时,我看到的大部分只是网络东西,这不是我想要的东西,或者它不是在python中,也不是我想要的东西对于。

Class_skills=[Appraise, Diplomacy, Hide]
Skills_Charisma=[Diplomacy, Bluff]

if i in Class_skills and i in Skills_Charisma:
    RankCalc=Ranks+Player_Attributes.Charisma

我更希望了解在python中是否可以进行类似的操作,或者是否可以以不同的方式模拟相同的结果。

2 个答案:

答案 0 :(得分:0)

您看起来像是Stackoverflow的新手。通常,您应该提供尝试过的代码以及收到的任何错误消息。

听起来,您的问题是在这种情况下查看列表是否重叠,看看diplomacySkills_Charisma数组中是否都包含Class_skills

您可以使用set操作来找到两者的交集。

list(set(Class_skills) & set(Skills_Charisma))

您可以使用if语句进行测试,以将true / false变量包装在操作周围

bool(list(set(Class_skills) & set(Skills_Charisma)))

答案 1 :(得分:0)

首先,似乎您不熟悉stackoverflow,应该阅读如何提出问题,必须提供尝试的代码以及收到的错误。

无论如何,您将学习如何针对您提供的这段代码键入一个好的问题:

Class_skills=[Appraise, Diplomacy, Hide]
Skills_Charisma=[Diplomacy, Bluff]

if i in Class_skills and i in Skills_Charisma:
    RankCalc=Ranks+Player_Attributes.Charisma

此代码中的问题:

  • 单元格中的每个对象都必须位于引号之间,除非之前已定义,否则,如果它是文本,则必须使用引号
  • 建议不要在Python中使用Skills_Charisma这样的大字母来定义事物,最好将其设为skills_charisma
  • i不在列表中,因此它不会执行IF语句中的内容,因此您的代码应该是这样的
class_skills = ['Appraise', 'Diplomacy', 'Hide']
skills_charisma = ['Diplomacy', 'Bluff']

if 'Diplomacy' in class_skills and 'Diplomacy' in skills_charisma:
    RankCalc=Ranks+Player_Attributes.Charisma

在python 'Diplomacy'中必须提及的地方与'diplomacy'不同

希望这会有所帮助