使用变量和布尔Python创建元组

时间:2020-05-06 14:24:44

标签: python list

我应该在新的元组中添加一个变量和一个布尔值-实际的赋值在下面,并带有我的代码。我知道元组是不可变的-这是我第一次尝试创建元组。此外,我找不到有关插入变量和布尔值的任何信息。预先感谢!

我的代码刚刚创建了一个新列表。这是理想的结果:

 [('h', False), ('1', True), ('C', False), ('i', False), ('9', True), ('True', False), ('3.1', False), ('8', True), ('F', False), ('4', True), ('j', False)]

分配

string模块提供各种类型的Python的序列 字符。它具有一个称为digits的属性,可以产生字符串 ‘0123456789’。导入模块并将此字符串分配给变量 数下面,我们提供了一个称为字符的字符列表。使用 nums和chars,产生一个称为is_num的列表,该列表由元组组成。 每个元组的第一个元素应该是chars中的字符, 第二个元素应该是一个布尔值,该布尔值反映是否或 不是一个Python数字。

import string
nums = string.digits
chars = ['h', '1', 'C', 'i', '9', 'True', '3.1', '8', 'F', '4', 'j']
is_num = []

for item in chars:
    if item in string.digits:
        is_num.insert(item, bool)

elif item not in string.digits:
    is_num.insert(item, bool)

1 个答案:

答案 0 :(得分:1)

您可以为此使用列表理解,就像更简洁的for循环可创建新列表一样

>>> from string import digits
>>> chars = ['h', '1', 'C', 'i', '9', 'True', '3.1', '8', 'F', '4', 'j']
>>> is_num = [(i, i in digits) for i in chars]
>>> is_num
[('h', False), ('1', True), ('C', False), ('i', False), ('9', True), ('True', False), ('3.1', False), ('8', True), ('F', False), ('4', True), ('j', False)]

这等效于关注循环

is_num = []
for i in chars:
    is_num.append((i, i in digits))

>>> is_num
[('h', False), ('1', True), ('C', False), ('i', False), ('9', True), ('True', False), ('3.1', False), ('8', True), ('F', False), ('4', True), ('j', False)]

请注意,对in使用string.digits>>> digits '0123456789' >>> '7' in digits True >>> 'b' in digits False

进行了遏制检查
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
  http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>pollyJ1Project</groupId>
<artifactId>pollyJ1Project</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
</properties>
<dependencies>
    <!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-polly -->
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-polly</artifactId>
        <version>1.11.774</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.awaitility/awaitility -->
    <!-- https://mvnrepository.com/artifact/org.awaitility/awaitility -->
    <dependency>
        <groupId>org.awaitility</groupId>
        <artifactId>awaitility</artifactId>
        <version>4.0.2</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.awaitility</groupId>
        <artifactId>awaitility</artifactId>
        <version>4.0.2</version>
        <scope>compile</scope>
    </dependency>


</dependencies>
<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
相关问题